Gast
#363538
Nun hats mich auch erwischt. Ich hab mich dumm und dämlich gesucht, warum ich mit T0 keinen 10ms Interrupt hinkriege. Bis ich dann gemerkt habe, daß TCNT0 immer mit 0 vorgeladen wurde, statt mit dem berechneten Wert. Den Reloadwert kann man ja als negative Zahl betrachten, von der aus bis 0 hochgezählt wird. Macht man nun diese Rechnung mit float Zahlen, macht der WinAVR aber 0 daraus. Hier mal das Listing:
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 | |
Anbei das C-Programm. Der alte WinAVR20040404 konnte es aber noch richtig. Peter