Hallo,
ich habe mir folgenden C-Code zusammengebastelt:
1 | #include <avr/io.h>
|
2 | #include <util/delay.h>
|
3 |
|
4 | int main()
|
5 | {
|
6 |
|
7 | uint8_t b;
|
8 |
|
9 | DDRB = 0xff; //Port B als Ausgang
|
10 | PORTB = 0x00; //Port B auf 0 setzen
|
11 |
|
12 | DDRD = 0x00; //Port D als Eingang
|
13 |
|
14 | b = PORTD;
|
15 |
|
16 | while(1)
|
17 | {
|
18 | b = PORTD;
|
19 |
|
20 | if (b == 0b00000000)
|
21 | {
|
22 | PORTB = 0b01100100;
|
23 | }
|
24 |
|
25 | if (b == 0b10000000)
|
26 | {
|
27 | PORTB = 0b00000010;
|
28 | }
|
29 |
|
30 | if (b == 0b00000001)
|
31 | {
|
32 | PORTB = 0b00000001;
|
33 | }
|
34 |
|
35 | if (b == 0b11111111)
|
36 | {
|
37 | PORTB = 0b00000011;
|
38 | }
|
39 |
|
40 | if (b == 0b01111111)
|
41 | {
|
42 | PORTB = 0b10000001;
|
43 | }
|
44 |
|
45 | if (b == 0b11111110)
|
46 | {
|
47 | PORTB = 0b00110001;
|
48 | }
|
49 | }
|
50 | return 0;
|
51 | }
|
Das Programm soll einfach nur während der Ausführung auf Tastereingaben
auf den STK 500 reagieren, aber es tut sich nichts. Nach dem Einschalten
wird der Zustand eingenommen, als wären alle Taster aus. Beim Drücken
von Tastern passiert ncihts.
Kann jemand helfen?