Hallo... Ich habe folgendes Problem: Ich möchte mit einem Atmega8 den
Zustand eines Bits einlesen. Dafür hab ich den Code
1 | DDRB&=~(1<<PB1);
|
2 | PORTB|=(1<<PB1);
|
3 | DDRB|=(1<<PB0);
|
verwendet, um die Datenrichtung zu bestimmen und die Pull-Up-Widerstände
zu aktivieren, dann
1 | if(PINB&(!(1<<PB1)))
|
2 | {
|
3 | PORTB|=(PB0<<1);//Led aus
|
4 | }
|
5 | if(PINB&((1<<PB1)))
|
6 | {
|
7 | PORTB&=(PB0<<0);//Led ein
|
8 | }
|
um den Zustand einzulesen. Den Schalter (PB1) habe ich gegen Masse
geschaltet, die Diode (PB0) mit einem Vorwiderstand mit den 5V
verbunden. Nun sollte das Programm eigentlich funktionieren, jedoch
bleibt die Diode konstant eingeschaltet.
P.s.: Mikrokontroller, Taster usw. sind alle funktionsfähig, also nicht
kaputt. Bitte wenn mir jemand helfen könnte.