Hallo, Woran könnte es liegen das die ISR nicht richtig ausgeführt wird? Und zwar wird bei einem Overflow von TMR0 wieder bei der Initialisierung angefangen ? nur Warum ? Könnte mir da jemand helfen? Grüße
1 | #include <avr/io.h> |
2 | #include <util/delay.h> |
3 | #include <avr/interrupt.h> |
4 | #include <avr/iom16.h> |
5 | |
6 | volatile uint8_t PWM; |
7 | |
8 | //Interrupt Service Routinen
|
9 | |
10 | ISR (TIMER0_OVF_vect) |
11 | {
|
12 | PWM++; |
13 | }
|
14 | |
15 | |
16 | //----Hauptschleife
|
17 | |
18 | int main(void) |
19 | {
|
20 | //Initialisierung
|
21 | DDRB = 0xFF; |
22 | DDRD = 0x3F; |
23 | TCCR0 |= (1<<CS00); |
24 | TIMSK |= (1<<TOIE0); |
25 | |
26 | |
27 | sei(); |
28 | |
29 | while(1) |
30 | {PORTB = 0x01; |
31 | PORTB = 0x02; |
32 | }
|
33 | |
34 | }
|