Hallo, ich hab mal ne Anfängerfrage: hab zwei Mikrocontroller (AT90CAN128, ATmega8), die ich über UART kommunizieren lassen möchte. Muss die Taktfrequenz der beiden Controller übereinstimmen? oder kann ich den AT90CAN mit 16Mhz und den Atmega mit 8Mhz betreiben solange die Baudrate (19200) bei beiden richtig eingestellt ist? Ich habs natürlich schon probiert und es hat nicht geklappt. Eine Verbindung bei gleicher Frequenz war allerdings erfolgreich. Darf ich also davon ausgehen, dass es nicht machbar ist? Note: U2X ist aktiviert. UART-Verbindung über Bluetooth BTM220. Danke
Dino schrieb: > oder kann ich den AT90CAN mit 16Mhz und den Atmega mit > 8Mhz betreiben solange die Baudrate (19200) bei beiden richtig > eingestellt ist? Das sollte kein Problem darstellen. Bei PCs funktioniert es ja auch über die serielle Schnittstelle.
Die Baudrate muss stimmen, der Rest ist egal. Allerdings wird die Baudrate aus dem Systemtakt abgeleitet, was bedeutet, daß bei geändertem Takt auch der Baudratenteiler angepasst werden muss. Wenn Dein Aufbau bei gleichem Systemtakt funktioniert, bei abweichendem aber nicht, ist zu vermuten, daß Deine Baudratenteilerberechnung nicht korrekt ist. Zudem ist zu berücksichtigen, daß die etwas einfach strukturierte UART der AVRs nicht jede Baudrate "glatt" aus jedem Systemtakt erzeugen kann, d.h. einen mehr oder weniger großen Baudratenfehler produziert, wenn keine sogenannten "Baudratenquarze" verwendet werden.
Danke für die schnelle Antwort. hab natürlich bei Veränderung der Taktfrequenz auch die UBRR-Werte aus dem Datenblatt angepasst. Mein Atmega8 läuft gerade mit (2Mhz, 19200, UBRR:12) und AT90CAN(16Mhz, 19200, UBRR:103). (U2X = 1) Ich werd jetzt die UBRR-Formel ausm Tutorial verwenden. Hab sie nicht benutzt, da die Werte ausm Datenblatt bis jetzt zuverlässig waren. Ich werde weiter probieren und nach anderen möglichen Fehlern suchen.
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.