mikrocontroller.net

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


Autor: Steki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jupp M. (juppp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>habe nur Anwendungen mit 8051ern gefunden !
>Habt Ihr da eine Idee ?

Versuche die doch zu portieren?

Autor: tt (Gast)
Datum:

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

Autor: MR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm bascom mit einem befehl funktioniert es auf anhieb.

Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Andreas Weschenfelder (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Marius S. (lupin) Benutzerseite
Datum:

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

Autor: steki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jojansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: MR (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Frank (Gast)
Datum:

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

Autor: steki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.


Autor: steki (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
... hier einmal ein Vorschlag für 9600 Baud in Bascom mit ATmega8

Autor: Werner A. (homebrew)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Steki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.