Gast
#6441033
Hallo in die Runde, wahrscheinlich habe ich etwas vor den Augen und übersehen - ich habe folgenden Code und bin der Meinung, den Timer1 des ATMEGA 644 in den CTC Mode mit Interrupt on Compare Match (A) gesetzt zu haben. Zum Test soll in der ISR eine LED getoggelt werden. Hier der Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
F_CPU ist 8MHz, Fuses sind E:FC, H:D2, L:E7, der Code wird an Stelle 7800hex als Bootloader geschrieben. Ich sollte bei dem eingestellten Prescaler von 1024 doch ein gut sichbares Blinken der LED erwarten können?! Nach meinen Recherchen wird die ISR nicht ausgeführt. Der Zähler aber läuft, denn wenn ich z.B. in der Hauptschleife den Zählerstand abfrage und bei jeweils 0 bzw. 100 die LED an- und ausschalte habe ich mein Blinken. Der WD ist nur testweise im Code, der dürfte doch keinen Einfluss haben, oder? Irgendwelche Fallstricke? Etwas übersehen? Interrupts global noch aus trotz sei()? Viele Grüße Uli