www.mikrocontroller.net

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


Autor: Thomas Hörbe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Thomas Hörbe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Thomas Hörbe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi HanneS,

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.