Hi alle, Ich habe folgendes Programm geschrieben aber es reagiert nicht nach der Compilation könnte jemannd mir helfen ?? Beim Drucken der Taste an Pin O vom PortD sollte der uC zählen und dieser Anzahl des Drucken an PortB bzw. über LEDs anzeigen. Hier ist nochmal mein C Code. Danke Claude •
1 | #include <avr/io.h> |
2 | |
3 | typedef unsigned char BYTE; |
4 | |
5 | |
6 | int main(void) |
7 | {
|
8 | DDRD = 0x00; |
9 | DDRB = 0xff; |
10 | PORTD = (1<<PD0); |
11 | //PORTB = 0x01;
|
12 | BYTE Bit0portD = 1; // Variable für Pin0 des PortD |
13 | BYTE ZahlerTastdruck = 0; // Zähler der Tasterdruck |
14 | |
15 | |
16 | |
17 | while(1) |
18 | {
|
19 | if (!(PIND & 0x01)) // überprüft ob Taste gedrucht ist |
20 | { if(Bit0portD==1) // vorheriger Zustand von Pin0 prüfen |
21 | { PORTB = ZahlerTastdruck; // Neuer Zählstand anzeigen |
22 | ZahlerTastdruck++; // Zähler inkrementieren |
23 | Bit0portD = 0; // Zustand von Pin0 speichern |
24 | }
|
25 | |
26 | } else |
27 | Bit0portD = 1; |
28 | |
29 | }
|
30 | }
|