kann mir einer sagen wieso meine LED nicht toogelt ich bin echt am ende mit dem Programm für die Berufsschule :(
1 | #define F_CPU 1000000UL //1Mhz
|
2 | #include <avr/io.h> |
3 | #include <avr/interrupt.h> |
4 | |
5 | |
6 | |
7 | int main(void) |
8 | {
|
9 | DDRD=0xFF; |
10 | PORTD= 0xFF; //Alle LEDS ausschalten |
11 | |
12 | PORTC=0x0F; //Aktivierung der Pull-up Widerstände |
13 | |
14 | TIMSK |= (1<<OCIE1A) ; |
15 | TCCR1B |= ((1<<WGM12)|(1<<CS10)|(1<<CS12)); //Auswahl des Prescaler Wert 1024 und des Zähler 16Bit |
16 | sei(); |
17 | |
18 | |
19 | while (1) |
20 | {
|
21 | switch(PINC) |
22 | {
|
23 | case 0xFE: OCR1A = 4883; //5s |
24 | |
25 | |
26 | case 0xFD: OCR1A = 9766; //10s |
27 | |
28 | |
29 | case 0xFC: OCR1A = 14648; //15s |
30 | |
31 | default: OCR1A = 14648; |
32 | |
33 | |
34 | |
35 | }
|
36 | |
37 | }
|
38 | }
|
39 | ISR(TIMER1_COMPA_vect) |
40 | {
|
41 | |
42 | while (1) |
43 | {
|
44 | PORTD^= 0xFF; |
45 | |
46 | }
|
47 | }
|