Der Fehler liegt hier:
Code:
// 7 : 1 RXC-Int
// 6 : 1 TXC-Int <--- !!!
// 5 : 0 Buffer-Empty Int
// 4 : 1 Rx Enable
// 3 : 1 Tx Enable
// 2 : 0 8 Bit Paylod
// 1 : 0 9th Data Bit
// 0 : 0 9th Data Bit
// => 1101 1000 = 0xD8
UCSR1B = 0xD8;
Du hast den Sende-Interrupt aktiviert, aber keine Interrupt-Routine dafür geschrieben. Was passiert? Es kommt ein Interrupt, der Program-Counter springt auf die Adresse des Interrupt-Vektors, findet dort aber nur NOPs und landet letztendlich wieder an der Startadresse des Hauptprogramms. Dann geht das ganze wieder von vorne los...
Also einfach Sende-Interrupt deaktivieren und weitermachen 
askazo
Lesezeichen