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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.