Hallo liebe Gemeinde, ich habe hier ein eigenwilliges Problem, bei dem Ihr mir hoffentlich helfen koennt. Ich versuche einen Atmega328 ueber RS232 (mit Pegelwandler) an einen PC zu schliessen und kontinuierlich Messdaten vom uC zum PC senden zu lassen. Nach einigem Werkeln kam auch etwas auf dem Bildschirm an, aber das war Datenmuell. Nach laengerem Probieren kam ich auf die Idee, die Datentransferraten von uC und PC mal in Vielfachen gegeneinander zu verstellen. Nun klappt es, wenn der PC mit 1200 und der uC mit 9600 Baud arbeitet. Die Berechnung des UBRR-Registers habe ich vom Compiler mittlerweile entkoppelt und der ermittelte Wert stimmt auch mit dem Datenlblatt fuer 9600 Baud ueberein. Als Quarz verwende ich einen Quarzoszillator mit 7372800 Hz. Fuses sind entsprechend gesetzt. Initialisiert ist der UART auf 8N1 ohne Paritaet und mit asynchronem Transfer. Hat einer von euch eine Idee, woher die um Faktor 8 geringere Datentransferrate des uC gegenueber dem errechneten Wert herkommen koennte? Vielen Dank fuer eure Antworten schon jetzt. Gruss Mike
Mike schrieb: > Hat einer von euch eine Idee, woher die um Faktor 8 geringere da fällt mir doch spontan die DIV8 Fuse ein.
Sapperlot und dreiteufelsnamennocheinmal. Nicht, dass ich diese Fuse schon x-mal in anderen Projekten deaktiviert haette... Vielen Dank. Das war genau der Hinweis. Jetzt tut es wie es soll. Gruss Mike
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.