ATMEGA 644 - UART um den Faktor 8 langsamer als berechnet

Gast #1468441
Ich habe hier einen Mega 644P auf einem Pollin-Funkevalboard bei 12 MHz 
am laufen. Schnell etwas Code vom Mega8 portiert, u.a. ein paar Routinen 
für die UART. Alles funkioniert beinahe wie erwartet - wäre da nicht ein 
kleiner Schönheitsfehler: die Baudrate auf der UART ist um den Faktor 8 
langsamer, als nach Formel aus dem Datenblatt berechnet.

Ich schreibe also den Wert 77 für 9600 Baud ins UBRR0-Register - und 
erhalte oh Wunder exakt 1200 Baud an der Schnittstelle. Ich habe 
inzwischen sogar die Frequenz des Quarzes angezweifelt - aber der Oszi 
zeigt ein einwandfreies Signal mit 12 MHz an den Clock-Pins. Ebenso habe 
ich die Baudrate nachgemessen, ein Bit ist knapp eine ms lang, also 1200 
Baud.

Nach stundenlagem Brüten über dem Datenblatt bin ich mittlerweile recht 
ratlos - daher hier mal mein Code zur UART-Initialisierung, vielleicht 
fällt jemandem ja was dran auf...
1
#define UART_BAUD    9600
2
#define bauddivider (uint)(F_CPU / UART_BAUD / 16 - 0.5)
3
...
4
UBRR0 = bauddivider;
5
UCSR0A = 0;
6
UCSR0B = (1<<TXEN0);
7
UCSR0C = (1 << UCSZ01)|(1 << UCSZ00);
Gast
[quote]
CKDIV8 Fuse
[/quote]
Was für ne geile Falle. Und das Ding ist zu allem Überfluss auch noch 
aktiv, wenn es auf 0 steht ;)

Besten Dank, jetzt läuft alles wie gewohnt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.