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
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.