Forum: Mikrocontroller und Digitale Elektronik Fehler in der Switch-Anweisung?


von Jonny (Gast)


Angehängte Dateien:

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

von Stefan Kleinwort (Gast)


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

von Jonny (Gast)


Lesenswert?

Haaaalllloooo Stefan,

ich bin schwer beeindruckt - genau das war der Fehler!

Vielen Dank, hast mir sehr weiter geholfen!!!!

Servus
Jonny

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.