Gast
#761877
Hi!
Ich programmiere jetzt schon einige Zeit den Atmega8 mit avr-gcc, habe
aber bisher nur mit handy-displays und leds rumgespielt, und würde jetzt
gern den Status von Tastern abfragen..
Die Taster schliessen geöffnet den Stromkreis, bei Tastendruck wird
selbiger unterbrochen, mir ist die genaue Bezeichnung dieser
Schalter-Art entfallen..
Da ich auf der Platine aus Platzgründen eher schlecht mit Vcc oder Gnd
auf den Schalter kann, hab ich die zwei Leitungen des Schalters auf PD0
und PD1 gelegt. Dann im Programm:
----------------------------------
DDRD = 0x02 // binär: 00000010, also PD1 als Ausgang, Rest Eingänge?!
PORTD = 0xff // Pull-Up Widerstände einschalten und PD1 auf high setzen
if(!(PIND & (1 << PIND1))){
stop_that();
}
----------------------------------
Ich habe an PORTD leds angeschlossen, die ich in stop_that() ausschalte.
Sobald das Programm des Atmegas startet, wird umgehend stop_that()
aufgerufen, obwohl an PD1 die Ausgangsspannung von PD0 anliegt..
Was hab ich falsch gemacht?