Forum: Mikrocontroller und Digitale Elektronik IrDA-Sender mit AVR (kein RC5/RC6)


von Steki (Gast)


Lesenswert?

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

von Jupp M. (juppp)


Lesenswert?

>habe nur Anwendungen mit 8051ern gefunden !
>Habt Ihr da eine Idee ?

Versuche die doch zu portieren?

von tt (Gast)


Lesenswert?

Das IrDa Protokoll ist ziemlich komplex.
Nimm nen MCP2150 von Microchip, der macht das ganze Protokoll 
selbstständig.

von MR (Gast)


Lesenswert?

nimm bascom mit einem befehl funktioniert es auf anhieb.

von technikus (Gast)


Lesenswert?

Ob du mit der Aussage Probleme bekommst?

Du hast doch das böse B Wort hier benutzt ;-)

Hast aber recht, mit Bascom ohne Probleme!

von Andreas W. (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite


Lesenswert?


von Marius S. (lupin) Benutzerseite


Lesenswert?

wäre interessant, dass ganze um Funktionen zur Dateiübertragung zu 
erweitern. Bei meinem Handy kann man die Bilder per IR downloaden.

von steki (Gast)


Lesenswert?

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

von jojansen (Gast)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von MR (Gast)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Frank (Gast)


Lesenswert?

bestimmt die Tatsache das es auch als USB Host nicht funktioniert hat 
und schliesslich für irgendwas gut sein muss...

von steki (Gast)


Lesenswert?

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.


von steki (Gast)


Angehängte Dateien:

Lesenswert?

... hier einmal ein Vorschlag für 9600 Baud in Bascom mit ATmega8

von Werner A. (homebrew)


Lesenswert?

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)

von Gast (Gast)


Lesenswert?


von Steki (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.