ich habe hier einen sehr seltsamen crash den ich mir nicht erklären kann... jemand ne idee?
1 | //dieser code funzt:
|
2 | #define LED_ON(num_) (PORTB &= ~(1 << (num_)))
|
3 | volatile uint8_t key_state; |
4 | ISR(TIMER2_OVF_vect) |
5 | {
|
6 | uint8_t diff, b; b = 0; |
7 | |
8 | if(key_state != KEY_PIN){ |
9 | diff = key_state ^ KEY_PIN; |
10 | while(b < 8){ |
11 | if(diff & (1 << b)){ |
12 | LED_ON(b); //HIER! |
13 | }
|
14 | b++; |
15 | }
|
16 | key_state = KEY_PIN; |
17 | }
|
18 | }
|
19 | |
20 | //dieser nicht:
|
21 | #define LED_ON(num_) (PORTB &= ~(1 << (num_)))
|
22 | volatile uint8_t key_state; |
23 | ISR(TIMER2_OVF_vect) |
24 | {
|
25 | uint8_t diff, b; b = 0; |
26 | |
27 | if(key_state != KEY_PIN){ |
28 | diff = key_state ^ KEY_PIN; |
29 | while(b < 8){ |
30 | if(diff & (1 << b++)){ |
31 | b = b - 1; //HIER! |
32 | LED_ON(b); //HIER! |
33 | }
|
34 | }
|
35 | key_state = KEY_PIN; |
36 | }
|
37 | }
|