Gast
#1110897
Hallo! Ich bin ziemlich unerfahren auf dem Gebiet der MC-Programmierung. Momementan wollte ich ganz einfach mit ner Matrixtastatur anfangen. Eigentlich kann das ja nicht so schwer sein. Mein (Spaghetti)Code funktioniert sogar, aber so toll das auch alles ist, mir scheint es, als würden die Eingangspinne ohne Pegel liegen: Zwar nicht, wenn ich mit dem Finger an den Kontakt komme, aber immerhin wenn ich ein Kabel in der Hand halte und einen Eingangspin berühre, reagiert der ATmega16. Sicherheitshalber frage ich lieber noch: Das passiert nur, wenn der interne Pull-Up aus ist, oder? Ich missbrauche den Port A meines ATmega16 für diesen Zweck. Dazu habe ich das untere Nibble, die unteren 4 Pins, als Ausgänge geschaltet, während die restlichen Pins Eingänge sind: DDRA = 0x0F; In einer Schleife verwende ich folgendes Konstrukt: PORTA = 0xFF & ~(1<<mtx_row); Damit soll erreicht werden, dass bei allen Eingängen der Pull-Up aktiviert wird und alle Ausgänge auf High geschaltet werden sollen, bis auf den Ausgang mit dem Offset mtx_row. Ist das falsch? Vielen Dank!