Taster-Beispiel funktioniert nicht?

Gast #787137
Lesenswert?

Hardware: atmega8, 16x2 lcd-display

Ich habe versucht ein einfaches Taster-Beispiel ans Laufen zu bekommen, 
wie im GCC-Tutorial beschrieben.

Schaltungsaufbau hab ich nicht betrieben. Ich simuliere den Tastendruck 
via Kabel, also: Kabel von PD7 auf GND während des Betriebs.
1
DDRD &= ~(1 << PD7); // Port 7 auf eingang
2
PORTD |= (1 << PD7); // pullup
3
int i = 0;
4
if(!(PORTD & (1 << PD7)))
5
  i = 1;
6
//lcd-ausgabe von i hier

Nun bleibt i aber immer 0, egal ob ich den Tastendruck simuliere oder 
nicht. Ich steh grad echt aufm Schlauch. Egal ob ich die Bedingung in 
der If-Abfrage negiere oder nicht, es kommt immer ein konstantes 
Ergebnis heraus und nicht - wie erhofft - ein Wechsel.
Durchgemessen habe ich. am Pin liegen 5V (Also Pullup aktiv?)

Hat jemand eine Idee? Oder muss ich doch extern einen Pullup zuschalten?
Gast #787146
Lesenswert?

jaaaaaaaaaa das war es. Habe tatsächlich den PIN vor lauter PORTs nicht 
gesehen... oder so!

Hatte das Problem beim Ansteuern einer Matrixtastur und dort auf genau 
die obige Bedingung reduziert. Jetzt klappt das Auslesen mit der 
Tastatur auch schon.

Dankesehr!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren