Der Fehler liegt hier:
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...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;
Also einfach Sende-Interrupt deaktivieren und weitermachen
askazo







Zitieren

Lesezeichen