Forum: Mikrocontroller und Digitale Elektronik Matrix Tastatur mit int. Pullups


von Reinhard (gotbread)


Angehängte Dateien:

Lesenswert?

Hallo

Ich möchte eine 3x4 Matrix-Tastatur entsprechend der Zeichnung an einem
ATMega32 anschließen, und zwar am Port C.

der rückgabewert der funktion soll angeben, welche taste gedrückt wurde,
bit nr 1 = taste 1, bit nr 2 = taste 2, usw.

seltsamerweise werden nur die tasten 10 (1 spalte, 4te zeile) und 11
(2 spalte, 4te zeile) erkannt. die tasten 1-9 werden dauerhaft als
gedrückt (1) erkannt.
warum funktioniert die abfrage nicht?

PORTC und DDRC werden nur einmal am anfang gesetzt, und danach nurnoch
in der routine verändert.

die spannung an den zeilen-pins beträgt ca. 1,9V. müssten das nicht mehr
sein, da sie an den internen pullups hängen?

MfG Gotbread

von Michael B. (planlessmichi)


Lesenswert?

Also den Code habe ich mir jetzt nicht angeschaut, aber die 
Spannungsangabe von 1,9V kommt mir mächtig bekannt vor :-( (Hat mich mal 
richtig Arbeit gekostet). Da tippe ich doch mal auf nach noch 
aktiviertem JTAG!
Hast Du die Fuses mal angeschaut und JTAG deaktiviert?

von Reinhard (gotbread)


Lesenswert?

habe grade mal nachgeguckt, und tatsächlich, JTAG war aktiviert.
Nachdem ich es ausgestellt habe, funktionierte der code auf einmal 
perfekt.

(beim pasten habe ich eine Zeile vergessen, nämlich das 
wieder-einschalten
der letzen spalte)

Auch ein Pin, von dem ich dachte er wäre "tot" reagiert plötzlich wieder 
:)

Dankeschön, darauf wäre ich nicht gekommen.

von Michael B. (planlessmichi)


Lesenswert?

Gern geschehen :-) Diesen "toten" Pin hatte ich damals auch, weshalb ich 
dann nach langer Fehlersuche (auf der Platine und im Quellcode) den 
(SMD-)Controller mit einem Dremel rausgefräst und mir dabei auch noch 
die Platine durchtrennt habe :-( (Hatte da noch keine 
Heißluftmöglichkeit)
Dann das große Entsetzen: Neuer Controller, aber gleiches Fehlerbild :-(

Aber sowas prägt dann und bei PORTC springen dann bei mir immer gleich 
alle Alarmglocken an :-)

Also dann noch viel Spaß bei Deinem Projekt :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.