Fehler in der Switch-Anweisung?

Gast #118873
Lesenswert?

Hallo alle zusammen!

Ich murckse jetzt schon Ewigkeiten an einer Lösung für meine 4x3 Matrix
Tastatur. Eigentlich sollte nur ein LED aufleuchten sobald eine Taste
gedrückt wurde. Bis jetzt habe ich die 3 Spalten mit 10k auf Versorgung
gehängt. Danach wird eine Zeile nach der anderen auf "0" gelegt (vom
uC MSP430). Wenn dann am Eingang eine "0" erscheint --> Taste
gedrückt. Funktioniert auch "gut" - habe die Signale mit dem Oszi
gemessen! Allerdings leuchtet meine LED nicht auf!

Im Anhang findet ihr die KBD.c und die MainKBD.c (in einer Text-Datei)!
Kann es sein, das die Switch-Anweisung in der Funktion Keypressed()
falsch ist? Was ich genau meine ist "switch(PIN3)"!
Oder ist das schon OK wie ich es versucht habe?

Ich weiß mir keinen Rat mehr!
Würde mich freuen, wenn mir jemand weiter helfen könnte!

Jonny
Angehängte Dateien:
Gast #118874
Lesenswert?

P3IN, P3OUT?
Du fragst immer den ganzen Port P3IN in der switch-Anweisung ab.
Wahrscheinlich sind die nicht zum Tasteneingang gehörenden Bits nicht
Null.
Probier mal switch (P3IN & 0x??);  <- 0x?? ist die Key-In-Maske

Gruß, Stefan

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