-         

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: ASCII in byte

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209

    ASCII in byte

    Anzeige

    Hallo,
    ich habe mir hier eine Schaltung aufgebaut: AVR mit PS2 Tastatur. Das einlesen klappt. Allerdings bekomme ich das Zeichen als String oder den ASCII-Scancode als Byte. Wenn ich jetzt aber Zahlen eingebe, kann ich mit diesen nicht weiterrechnen da ich sie ja als String geliefert bekomme. Gibt es irgendeine Möglichkeit der "Umrechnung"?
    Mit freundlichen Grüssen

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    46
    Beiträge
    497
    Wenn ( ( zeichen>47 ) und ( zeichen<58 ) ) dann zifferzeichen = zeichen-48 sonst ...

    Wenn du eine Programmiersprache angegeben hättest, dann könnte man sicher auch die entsprechenden Funktionen benennen. Aber mit dem Pseudocode sollte es auch verständlich sein.

    sast

    雅思特史特芬
    开发及研究

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.835
    Wenn dir die Tastatur den Scan-Code schickt, hat das mit dem üblichen ASCII genau nix zu tun. Der sagt nur, welche von den >100 Tasten gedrückt wurde, aber nicht, was auf der Taste draufsteht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    46
    Beiträge
    497
    Aha sehr interessant. Danke für den Hinweis PicNick.

    Hab ich mir doch gleichmal die PS2 Codesache angesehen.
    Wenn man die ganzen Make Codes für Shift Caps usw vorher abfragt, bekommt man also bei Scancode 1 einen Make Code 0=0x0B 1=0x02 bis 9=0x0A und anschließend die Break Codes mit 8B, 82 bis 8A. Bei 1 bis 9 ist es also der Make Code - 1 und bei 0 kann man direkt aus 0B eine 0 machen. Damit hat man die Ziffern erschlagen.

    Bei Scancode 2 der mit den total unübersichtlichen Codes 0x45, 0x16, 0x1E, 0x26, 0x25, 0x2E, 0x36, 0x3D, 0x3E, 0x46 für 0-9 arbeitet, kann man auch gleich jeden einzeln auswerten. Hier kann man auch den Break code durch die vorgestellten F0 schön rausfiltern

    sast

    雅思特史特芬
    开发及研究

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.835
    Vielleicht findest du da, was du brauchst

    http://download.microsoft.com/downlo...c/scancode.doc
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Perfekt! Wie sast vorgeschlagen habe ih es nun realisiert, mit Erfolg. Danke!

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    46
    Beiträge
    497
    Bitte! Das freut mich.

    Verrätst du uns auch welcher Vorschlag zum Ziel geführt hat. Ich hatte ja nun mehrere unterschiedliche Sachen erwähnt.

    sast

    雅思特史特芬
    开发及研究

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Achso, natürlich. Deinen ersten Vorschlag. Die Scancodes der Zahlen 0-9 auf der Tastatur sind 48-57. Also begrenze ich das Ergebnis erstmal auf den Tastenbereich 48-57 und Subtrahiere davon 48. Dann komme ich direkt auf die Zahl mit der ich weiterrechnen kann.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    46
    Beiträge
    497
    ok

    Wie hast du denn das Problem der Umsetzung von Scancode auf ASCII gelöst?

    Dazu benötigt man ja so eine Art Treiber.

    sast

    雅思特史特芬
    开发及研究

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Man bekommt den Scancode ja als Byte. Nun habe ich ein Ein-Zeichen-String genommen und das Scancode-Byte dem String zugewisen... Bit für Bit. Gibt man diesen String nun per RS232 oder LCD aus erscheint dort Der Buchstabe/Zahl.

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •