Atmega644 UART Problem

OP (Firma: MAMIMO STudios) #2298657
Lesenswert?

Ich versuche mit einerm Atmega644 bei 20MHz mit einer Baud von 2400 bps 
einfach nur ein Zeichen an den PC zu senden.

Die initialisierung sieht so aus:
1
 UBRR0H = 520>>8;
2
  UBRR0L = 520;
3
  UCSR0B = (1 << TXEN0) | (1 << TXCIE0); 
4
  UCSR0C = (1 << USBS0) | (3 << UCSZ00);
die 520 hab ich aus dem Datenblatt den AT644. Dann in der main wird 
einmal was gesendet.
1
UDR0='a';
danach wird über eine Interruptroutine, die bei leerem Sendepuffer 
ausgelöst wird, wieder ein neues Zeichen geschrieben.
1
ISR(USART0_UDRE_vect)
2
{
3
   UDR0='b';
4
}

schau ich mir das ganze nun im Terminalprog. an, sendet er, egal was ich 
eingeben immer 00 00 80 als Hex.

Woher könnte dieser Fehler kommen?!
OP (Firma: MAMIMO STudios) #2298712
Lesenswert?

Hab ich grad auch gemerkt! Aber trotzdem, auch wenn ich ohne Interrupt 
einfach nur ein Zeichen sende und dann stoppe. sendet er immer 3 Werte!! 
nach jedem Drücken des Resetknöpfchens am stk500 werden wieder 3 Werte 
im Terminal angezeigt?!?
Hä?
Wo kommen die her?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren