Hallo, ohne sich ein Dattenblatt zu Deinem µC runterzuladen, und sich die Register anzugucken, kann ich folgendes sagen...
Code:
#include <avr/delay.h>
Wo gibt es das ?
delay.h befindet sich meiner Meinung nach in util/ ....
Code:
_delay_loop_2(300000000);
300000000 ??
Code:
void _delay_loop_2 (uint16_t __count)
so steht es in delay.h drin und jetzt überleg mal wie groß maximal uint16_t
sein kann.
warum springst Du as der ISR in eine Funktion raus? das kann man ruhig in der ISR erledigen, ohne sie zu verlassen.
Warum machst Du cli(); in der ISR ? das ist sinnlos.
und ja
Ja, Pausen in Interrupts sind böse
dem kann ich nur zustimmen....
Gruß Sebastian
Lesezeichen