Hallo
Zitat:
Und Dino Dieter im Datenblatt vom ATmega32 steht doch ausdrücklich das man das Bit durch schreiben einer logischen 1 löscht?!
Gruß Muraad
Ja ich weiß das das da steht, stimmt aber nicht so ganz. Atmel hat da eine eigene Auslegung. Schau dir doch mal die Fuse Bits an, ist doch je nach Progger genau so.
Tut mir Leid, was ich da gesagt habe. Du hast natürlich Recht.
Anstatt
Code:
TIFR &= ~(1<<ICF1); // ICF1 Bit wieder löschen durch schreiben einer logischen 0
muß natürlich das rein
Code:
TIFR |= (1<<ICF1); // ICF1 Bit wieder löschen durch schreiben einer logischen 1
Aber das hier kann auch eine böse Falle werden.
Code:
UCSRB = (1<<RXCIE) | (1<<TXCIE) | (1<<RXEN) | (1<<TXEN);
Wenn Mann später mal Int benutzen will und nicht die beiden INT Routinen definiert, bekommt man die schönsten Fehler, nur so als Tip. In dem Code hatte das aber keine Auswirkungen.
Habe den Code so mal getestet und er macht das, was ihr wollt.
Gruß
Dieter
Lesezeichen