PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TxD und RxD am Atmega8L



jabby
21.02.2007, 09:32
Hallo erst ma,

ich möchte gerne meinen ASURO direkt mit einer RS232 Schnittstelle ausrüsten.

Mir ist nur folgendes nicht ganz klar, kann ich die Rx/TxD Leitungen direkt an eine RS232 anlöten oder muß ich da noch einen Max232 zwischenhängen? Ums kurz zu machen ich hab beides schon versucht aber funktioniert hat keins von beidem.

Wenn ich die RS232 aber an die ehemals IR Diode (die hab ich schon rausgelötet) hänge, bekomm ich auf dem Bildschirm meines erachtens das Trägersignal, schaut zwar lustig aus, bringt mir aber nix.

Wozu das ganze? Ich will den ASURO wenn das mit der direkten Verbindung klappt noch um ein 868MHz Funk Sende Empfangsmodul ergänzen.

Danke und Gruß

P.S. Hat schon mal wer einen R8C mit dem Atmel gekoppelt? Ich hab da noch einen aus ner alten Elektor Ausgabe.

Ähhm und naja ich glaub der Post wäre im Atmel AVR Thread besser aufgehoben, sorry - kommt nicht wieder vor.

p_mork
21.02.2007, 09:47
Hallo jabby,

ja, Du musst einen MAX232 dazwischenhängen, denn der PC arbeitet mit invertiertem 12V-Pegel. Wieso das bei Dir nicht geklappt hat weiss ich nicht. Kann es sein, dass Du zum Senden über RS232 diesselbe Funktion benutzt wie für das Senden über IR? Wenn JA: das funktioniert so nicht, weil Du bei direkter Verbindung keine IR-Modulation brauchst. Schau mal bei http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART, dort wird beschrieben, wie man den UART nutzt.

MfG Mark

jabby
21.02.2007, 10:27
Muche Gracie fuer die schnelle Antwort
Was ein super geiles Forum

Johannes G.
21.02.2007, 10:37
Hallo,
eine Anmerkung: bei 3,3V geht ein MAX232 nicht mehr, da brauchst du einen MAX2323

Viele Grüße,
Johannes

kolisson
23.02.2007, 00:43
und muss man nicht auf der pc-seite was brücken... wegen rts und cts und dtr

Vitis
23.02.2007, 01:37
nö, brauchts nicht, für was soll das gut sein?
Flusssteuerung?

kolisson
23.02.2007, 01:59
ja ja .. flusssteuerung... weil ja das terminalprogramm auf dem pc nicht weiss, dass es nur mit ner blöden atmel spricht...

aber wie gesagt.. ich hatte das prob noch nicht.. war nur ne idee

Vitis
23.02.2007, 12:52
also in einem projekt hab ich die Leitungen mal verbaut,
weil ich einfach riesige Datenmengen zu übertragen hatte
und irgendwie entweder am µC oder am PC abwechselnd
da Fehler auftraten ... overflow und so Geschichten,
ansonsten brauchste die normalerweise nicht.
RX TX und fertig.
Pegelwandler nicht vergessen versteht sich, aber das sollte
mittlerweile schon durch sein.

Helau und Alaaf auch ;o)

jabby
23.02.2007, 14:02
Naja also ich bin dann wohl doch zu doooooof den Max ans laufen zu bringen, ich schaffs nicht mal ein einfaches echo zu bekommen.
Ich drück a und im Terminal steht auch a aber da sollte dann ja eigentlich auch noch ein a wieder zurückkommen. Naja.

Die Hoffnung stirbt zuletzt - hoff ich

kolisson
23.02.2007, 14:47
um die sache besser einzukreisen, schlage ich vor, du programmierst den atmel mal so, dass er das was er empfängt durch was eigenes ergänzt und dann zurückschickt. da kannst du besser unterscheiden, wo das her kommt was du im terminal so siehst.

also wenn er ein empfängt, schickt er ok-a zurück.

was hälste davon ?

gruss

Vitis
23.02.2007, 17:56
das kommt aufs Terminal an,
normalerweise werden die gesendeten Zeichen nicht angezeigt,
wenn da was kommt ists meist das Echo ;)

zumindest beim Bascom Terminal und beim Hyperterminal läuft
das so :)

Jaecko
25.02.2007, 11:03
Nur kurz dazwischen als Frage mit oder ohne MAX232:
Wenn ich nun 2 einzelne ATMega8 o.ä. miteinander kommunizieren lassen will, reicht da dann das verbinden der Rx/Tx oder braucht man da dann auch den Umweg über je einen MAX232?

Und wie siehts dann aus mit mehreren AVRs... kann man da mehrere Tx einfach parallel an 1 Rx schalten, also mehrere Sender an 1 Empfänger (unter der Voraussetzung dass nie 2 gleichzeitig senden)

kolisson
25.02.2007, 11:09
zwei megas kannste direkt verbinden, wenn beide mit der gleichen spannung arbeiten. (z.b. 5 volt)

mehrere parallel geht nicht. alo je tx im ein rx und umgekehrt.

wenn es mehrere sein sollen (als 2) kannste da so lösen, das ein mega z.b. über rx empfängt und das signal an andere tx´se im gleichen mega weiterleitet. (es gibt ja megas mit 2 uarts ... oder eben über bascom software-uart) . der eine mega läuft dann ebenm als repeater oder hub.

allerdings gibt es wohl bessere lösungen mehr als 2 cpus zu verbinden (z.b. I2C)