Hallo,
um einem Atmel ATmega32 (AVR) das Sprechen mit dem Computer zu vereinfachen habe ich einen MAX232 an die Pins RXD und TXD meines AVR geh=E4ngt.
Der Versand von Nachrichten zum PC klappt hervorragend, es sind nichtmal Einbr=FCche in der Spannungsversorgung sichtbar, aber beim Empfang passiert auf den Leitungen etwas eigenartiges:
Der Pegel bricht auf TTL-Seite mit jedem Zeichen von +5V Ruhepegel nur kurz auf ca. +4.9V ein. Schalte ich einen zweiten Transceiver dazu, bekomme ich +4.8V - das ist zwar richtiger, aber noch nicht ganz in Ordnung :-)
Erst wenn ich den Microcontroller abklemme (oder mittels Jumper im Reset halte) bekomme ich saubere Pegel von +5V und 0V - hat der AVR also einen gigantischen Pull-Up auf 5V aktiv, zu gro=DF f=FCr den MAX232?
Die Beschaltung des MAX232 ist (f=FCr ein Null-Modem-Kabel) wie folgt:
AVR MAX232 RS232 RXD -- 9 8 -- TX TXD -- 10 7 -- RX GND -- 15 15 -- GND
zus=E4tzlich gibt's noch die obligatorischen +5V an Bein 16 des MAX232 und jeweils einen 1uF-Kondensator an den Beinchen 1->3, 2->GND, 4->5 und GND->6.
Die Initialisierung des USARTS passiert mit folgendem Code-Schnipsel:
UCSRB |=3D (1