Hallo zusammen,
ich habe gerade nen kleinen Code für mein Pollin Evaluationsboard V 2.01
geschrieben:
1 | DDRD = 0xE0; // Die letzten 3 Ausgänge
|
2 | while(1)
|
3 | {
|
4 | if(bit_is_set(PIND,PD2))
|
5 | {
|
6 | PORTD |= (1<<PD5);
|
7 | }
|
8 | else
|
9 | {
|
10 | PORTD &= (1<<PD5);
|
11 | }
|
12 |
|
13 | if(bit_is_set(PIND,PD3))
|
14 | {
|
15 | PORTD |= (1<<PD6);
|
16 | }
|
17 | else
|
18 | {
|
19 | PORTD &= (1<<PD6);
|
20 | }
|
Der Code soll folgendes machen:
Wenn ich Taster1(PD2) drücke soll LED1(PD5) leuchten
Wenn ich Taster2(PD3) drücke soll LED2(PD6) leuchten
Beim loslassen sollen die LED jeweils zurückgesetzt werden.
Soweit so gut. Wenn ich meinen Code so ansehe, sollte es doch eigenlich
gehen oder nicht?!
Programm geflasht und nach drucken des Tasters1 leuchtet LED1. Beim
loslasen geht diese wieder aus. freu
Das gleiche auch bei Taster2 und LED2.
Wenn ich nun aber beide Taster drücke und lasse einen z.B. Taster1 los
sieht man das die LED1 etwas (aber nur ganz gering) dunkler wird bleibt
aber an. Erst wenn ich dann den Taster2 loslasse gehen beide aus. Dies
funktioniert auch andersrum, wenn ich Taster1 gedrückt halte und Taster2
loslasse.
An was liegt das? Ist der COde falsch oder ist da ein problem auf dem
Board?
Bin um jeden tip Dankbar.
Grüße
Matrix-NTN