Hallo, Ich versuche zurzeit meinen Atmega16 ueber den Parallel Port meines Computers anzusteuern. Ich will (erstmal) eine LED ein- und ausschalten koennen.Das Programm auf dem Computer funktioniert auf jeden Fall, da am Input Pin (PinA1) bei Low 0,05 Volt anliegen und bei High 3,80 Volt. Allerdings leuchtet die LED in beiden Faellen :( Am Input Pin haengt ausserdem ein 1K Pullup Widerstand. An PinC3 haengt die LED. Hier der Code:
1 | #include <avr/io.h> |
2 | int main() |
3 | {
|
4 | |
5 | DDRA=0x00; |
6 | DDRC=0xFF; |
7 | |
8 | |
9 | while(1) |
10 | {
|
11 | if(PINA&(1<<PINA1)) |
12 | {
|
13 | PORTC&=~(1<<PINC3); |
14 | }
|
15 | else
|
16 | if(PINA|(1<<PINA1)) |
17 | {
|
18 | PORTC|=(1<<PINC3); |
19 | }
|
20 | }
|
21 | return 0; |
22 | }
|
Was mache ich falsch ?