Hallo Leute! Ich versuche gerade an der UART-Schnittstelle eines ATmega328P sowohl einen FTDI-Chip für die USB-Verbindung als auch einen MAX3232 gleichzeitig zu betreiben, damit man wahlweise USB oder RS232 als Verbindung zu einem PC nutzen kann. Im Anhang ist die "Schaltung" zu sehen. Bei der Verbindung zum FTDI-Chip sind RX und TX jeweils gekreuzt, bei der Verbindung zum MAX3232 jedoch nicht. Da wird erst zwischen dessen Ausgang und der Buchse gekreuzt. Die zwei Dioden sollen mit dem Pullup eine AND-Verknüpfung bilden. AND habe ich deswegen gewählt, weil das UART im Idle-Zustand einen hohen Pegel nutzt. Falls dann der PC etwas sendet (über USB oder RS232), geht entweder FTDI_TX oder MAX_RX auf Low und über das AND liegt das Low auch am RX-Eingang des ATmegas an. Den TX-Ausgang des ATmegas habe ich direkt mit FTDI_RX bzw. MAX_TX verbunden, da hier nicht die Gefahr besteht, dass zwei ICs, die direkt miteinander verbunden sind, unterschiedliche Pegel ausgeben. Eigentlich sollte das so funktionieren oder habe ich irgendwo einen Denkfehler? Tatsächlich kann ich mit dem AVR senden, aber sobald ich vom PC aus etwas sende, kommt nichts an (Anschluss über USB). Am FTDI ist eine TX-LED angeschlossen. Die leuchtet auch kurz, wenn man etwas sendet. Aber mein Echo-Programm auf dem AVR gibt nichts zurück. Bin ich hier eventuell mit den Pegel durcheinander gekommen? Vielen Dank schon mal für eure Vorschläge :)
Hallo, RX am AVR ist der Empfänger. Der muß also über die Dioden mit dem Sender (TX sowohl vom FTDI als auch vom MAX verbunden sein. TX beim MAX ist da, wo das TX von der Buchse rauskommt. Ansonsten muß es so gehen, bei höheren Bausraten wäre mir aber 47k PullUp zu hochohmig, 4,7k oder 3,3k wäre da besser. Gruß aus Berlin Michael
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.