Hallo, bin auf der Suche nach einem einfachen AVR-ASM-Programm, mit welchem man einzelne Datenbytes per IrDA von einem AVR-Tiny/Mega (mit IR-LED und Wid.) über kurze Distanz (20-30cm) an einem Palm M100 (mit Basic) senden kann. Habe schon rumgeGOOGELT - habe nur Anwendungen mit 8051ern gefunden ! Habt Ihr da eine Idee ? Steki
>habe nur Anwendungen mit 8051ern gefunden ! >Habt Ihr da eine Idee ? Versuche die doch zu portieren?
Das IrDa Protokoll ist ziemlich komplex. Nimm nen MCP2150 von Microchip, der macht das ganze Protokoll selbstständig.
Ob du mit der Aussage Probleme bekommst? Du hast doch das böse B Wort hier benutzt ;-) Hast aber recht, mit Bascom ohne Probleme!
wäre interessant, dass ganze um Funktionen zur Dateiübertragung zu erweitern. Bei meinem Handy kann man die Bilder per IR downloaden.
Hallo Leute, ... wollte eigentlich nur mit geringstem Schaltungsaufwand loslegen, IR-LED über 200-Ohm-Widerstand an den entsprechenden Port. Die IR-LED muß kurze Lichtblitze abgeben - nur ca. 3 Mikrosec. lang bei 9600 Baud - im Gegensatz zu RS232. Habt Ihr da einmal ein winziges Programmbeispiel in BASCOM, wie das gehen soll ? Steki
Programmbeispiele habe ich nicht, aber da ich zu der Gattung der faulen Menschen gehöre, bin ich beim MAX3130 gelandet. Der kann nicht nur IRDA, sondern auch RS232 und schaltet zwischen den beiden um. :-) Johannes
Bascom selbst enthält keine IrDA-Unterstützung, allerdings gibt es im Buch "Basiskurs Mikrocontroller" von B. Kainka Routinen für IrDA mit Bascom. Die aber sind für Bascom-51 und in Assembler geschrieben; für den typischen Bascom-AVR-Anwender also recht nutzlos.
einfach die IRLED an TxD $regfile = "m48def.dat" ' specify the used micro $crystal = 4000000 ' used crystal frequency $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space Dim A As Byte , B1 As Byte , C As Integer , S As String * 4 A = 1 Print "print variable a " ; A Print 'new line Print "Text to print." 'constant to print B1 = 10 Print Hex(b1) 'print in hexa notation C = &HA000 'assign value to c% Print Hex(c) 'print in hex notation Print C 'print in decimal notation C = -32000 Print C Print Hex(c) Rem Note That Integers Range From -32767 To 32768 Print "You can also use multiple" _ ; "lines using _" Print "use it for long lines" 'From version 1.11.6.4 : A = &B1010_0111 Print Bin(a) S = "1001" A = Binval(s) Print A '9 dec End
Kann man das noch unübersichtlicher und unlesbarer formatieren? Ich bin ja für einen Wettbewerb. Und was lässt Dich annehmen, daß das die Funktionalität einen IrDA-Stacks erfüllt?
bestimmt die Tatsache das es auch als USB Host nicht funktioniert hat und schliesslich für irgendwas gut sein muss...
Hallo Leute, habe die Schaltung mit ATmega8 und 4MHz-Quarz aufgebaut und mit folgendem Programm gestartet +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' IRLED und 180 Ohm zwischen TxD und +5V $regfile = "m8def.dat" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Anfang: Print "123456789 ABCD"; Wait 2 Goto Anfang +++++++++++++++++++++++++++++++++++++++++++++++++++++++ .... es kommt nur Quatsch an: 822& &&>8>xrrf Dasselbe wie auf dem Palm M100 wird im "Terminal Emulator" von Bascom mit einem "Serial-IrDA Infrared Adapter Hama 49290" angezeigt.
... hier einmal ein Vorschlag für 9600 Baud in Bascom mit ATmega8
läuft dein avr wirklich mit 4 mhz oder sind da noch fuse bits gesetzt, hast du das pc programm auf 19200 baud gesetzt, passt 4 mhz überhaupt zu 19200 baud? (versuch doch mal ne sehr langsame baudrate, dann weist du zumindest, ob es generell funktioniert)
Hallo, das entsprechende Fuse muß natürlich geändert und gespeichert werden, damit der Quarz auch für den Controller aktiv ist. Habe dann auch noch einmal auf die internen Oszillatoren "umgefust": 4MHz und 8MHz funktionierten - bei 1MHz und 2MHz kam nur Mist an bei 9600Baud.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.