Hallo, ohne sich ein Dattenblatt zu Deinem µC runterzuladen, und sich die Register anzugucken, kann ich folgendes sagen...
Wo gibt es das ?Code:#include <avr/delay.h>
delay.h befindet sich meiner Meinung nach in util/ ....
300000000 ??Code:_delay_loop_2(300000000);
so steht es in delay.h drin und jetzt überleg mal wie groß maximal uint16_tCode:void _delay_loop_2 (uint16_t __count)
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 jadem kann ich nur zustimmen....Ja, Pausen in Interrupts sind böse
Gruß Sebastian







Zitieren

Lesezeichen