Forum: Mikrocontroller und Digitale Elektronik ATMEGA16 UART PROBLEME


von braini (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ! Ich habe den im Anhang liegenden Code für einen ATMEGA16
getippt. + das Headerfile, was ich in den Anhang mit reingeschrieben
habe (nur ein file hochladbar)
Mein Problem ist dass wenn ich eine Zeichenkette auf TX Seite ausgeben
will über puts nur Datenmüll erhalte :O( ankommen tut zwar was (was
erstmal aussagt dass die UART Schnittstelle überhaupt schonmal was tut)
aber eben falsche Zeichen.
Das Baudrateregister und control Register habe ich nach Datenblatt
eingestellt.
also für die Taktfrequenz 1 MHz intern (muss leider mit internem RC
glied testen da der Quarz Circuit auf dem Testboard defekt ist :O( )
Das Baudratenregister habe ich im ersten Versuch über die im Datenblatt
enthaltene Formel eingestellt und im zweiten Versuch direkt die Werte
zugewiesen.
Im Makefile ist auch die korrekte Taktfrequent des µC eingestellt.
Vielleicht sieht ja jemand woran es evtl liegen könnte , dass die UART
Ausgabe nicht funzt.
Gruß der braini

von johnny.m (Gast)


Lesenswert?

Das kann so bei 1 MHz nur dann funktionieren, wenn Du im UCSRA das
U2X-Bit setzt, was ich in Deinem Code aber nirgends sehe. Dann stimmt
auch das UBRRL = 0x0C.

von braini (Gast)


Lesenswert?

Hi !
Danke für deinen Tipp Johnny!
Ich hab die interne Frequenz des µC auf 8 MHz gesetzt und das Baudraten
Register auf :

UBRRL = 0x34 ;
UBRRH = 0b0000000 ;

gesetzt ... Nun funzt das UART-senden :O)

Also erstmal vielen Dank !

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
Noch kein Account? Hier anmelden.