Forum: Mikrocontroller und Digitale Elektronik Tastatur-Scancode in ASCII umwandeln


von Thomas Hörbe (Gast)


Lesenswert?

Hi Leute,


Ich habe eine Tastatur an meinem AVR hängen und möchte die empfangenen
Zeichen auf einem LCD anzeigen, ev. auch an einen Drucker schicken.
Leider habe ich keine Ahnung, wie ich den Scancode in ein ASCII-
Zeichen wandeln kann.
Die APPNOTE 313 hilft mir auch nicht weiter, da ich von Hochsprachen
nix verstehe.

Danke für eure Hilfe

von Hannes L. (hannes)


Lesenswert?

Tabelle mit ASCII-Zeichen ins Flash legen und mit den Scancodes als
Index darauf zugreifen. Geht auch in ASM, nicht nur in Hochsprachen.

...

von Thomas Hörbe (Gast)


Lesenswert?

Das ging ja flott...

Leider bin ich noch nicht so gut im Programmieren.

Das mit der Tabelle kapier ich, aber "mit Scancodes als index
zugreifen" versteh ich nicht.

Aber danke für die schnelle Antwort!

Gruß, Thomas

von Hannes L. (hannes)


Lesenswert?

Ich habe nun die Scancode-Tabelle nicht vor mir liegen...

Aber die Scancodes sind doch "Nummern". Ich vermute mal, dass es
Bytes sind. Jedes dieser Bytes (dieser Nummern) repräsentiert ein
Zeichen. Dies sind natürlich nicht die gleichen "Nummern" wie in der
ASCII-Tabelle.
Man legt daher die ASCII-Werte der Zeichen so in eine Tabelle ins
FLASH, wie sie den Scanncodes entsprechen.
Wird dann ein Scanncode empfangen, dann wird der Z-Pointer auf den
Anfang der Tabelle gesetzt, der Scanncode dazu addiert (mit Übertrag
ins H-Byte des Z-Pointers), mittels LPM der ASCII-Wert aus der Tabelle
geholt und weiterverarbeitet.
Wie es mit den Umschalttasten (Shift, Control, Alt, Alt-Gr, Cursor)
geht, habe ich jetzt nicht berücksichtigt, aber da gibt es sicher auch
eine Lösung. Ich habe mich jetzt erstmal auf die "zeichengebenden"
Tasten beschränkt.

...

von Thomas Hörbe (Gast)


Lesenswert?

Hi HanneS,

danke für deine Hilfe, werde das morgen gleich probieren.

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.