HI zusammen, Ich habe ein programm geschrieben, das programme sollte beim Drücken eines Schalters an PD2 ein Led am PA4 leuchten. Leider macht es das nicht ich habe den Schalter und das LED getestet und alles ist funktionsfähig. Bitte helfen Sie mir den Fehler zu finden. Unten finden Sie mein code
1 | #include <avr/io.h> |
2 | #include <util/delay.h> |
3 | |
4 | |
5 | |
6 | |
7 | int main(void) |
8 | {
|
9 | uint8_t bit_pd2; |
10 | |
11 | |
12 | // das bit PD2 als Eingang definieren
|
13 | DDRD = 0; |
14 | |
15 | // alle bit von PORTA als Ausgang
|
16 | DDRA = 0xFF; |
17 | PORTD =0xFF; |
18 | PORTA =0; |
19 | |
20 | |
21 | |
22 | while(1) |
23 | {
|
24 | bit_pd2= (PIND&0b00000100)>>2; // Maskieren und um zwei schieben |
25 | |
26 | |
27 | if (bit_pd2==0) // prüfen ob Schalter gedrückt ist |
28 | {
|
29 | |
30 | PORTA |= (1<<PA4); |
31 | |
32 | |
33 | }
|
34 | |
35 | _delay_ms(1000); |
36 | }
|
37 | }
|