- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: ASCII in byte

  1. #11
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Du hast also eine Tabelle mit dem Scancode als adresse und dem daraus resultierenden ASCII Zeichen. Verstehe ich das so richtig?

    sast

    雅思特史特芬
    开发及研究

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Achso ja moment. Das hatte ich vergessen zu erwähnen. Das ganze mache ich mit der netten Keyboard unterstützung von Bascom.

  3. #13
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    Achso Bascom. Ja da bekommt man anscheinend alles mundgerecht vorverdaut. Kann man da eigentlich in die Quellen schauen, wie die das machen?

    sast

    雅思特史特芬
    开发及研究

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Da hast du recht!
    Nunja, die benutzen eine Tabelle aus der ich aber nicht weiter schlau werde.

    Code:
    Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    
     
    
    'shifted keys UPPER case
    
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    Diese "Umrechnung" in C zu realisieren würde mich aber brennend interessieren.

  5. #15
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    In der Tabelle sind genau an den Stellen, die dem Scancode2 entsprechen die ASCII Werte hinterlegt. Hab ich mir schon so gedacht. Das könnte man 1:1 in C genauso machen. Zwei 128 Byte große Arrays eins für Lowercase und eins für Uppercase also wenn Shift oder Caps gedrückt wurde.

    char low_case[] = {..., '0', '9', ...};
    char up_case[] = {...};

    wobei '0' an der Stelle 69(0x45) und '9' bei 70(0x46) in low_case steht.

    Nach der Überprüfung, ob Shift (oder ähnliches) gedrückt wurde, wird anhand des Make Codes im entsprechenden Array der Inhalt an der Make Code Stelle ausgelesen.

    sast

    雅思特史特芬
    开发及研究

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Ich hab mal in C nen eigenen "Treiber" für ne Tastatur geschrieben. Anders als in Bascom werden hier auch einige "Sondertasten" erkannt, die Bascom nicht kannte. Nicht grad der perfekteste Code, aber er funktioniert.
    Was auch noch fehlt ist ein Timeout; d.h. wenn bei der Übertragung irgendwann mal ein Bit verschluckt wird, gibt das ein Problem, dann wird nichts mehr erkannt. Müsste man noch nachrüsten.

    Wers braucht: Einfach nochmal melden, dann setz ich den hier rein.
    #ifndef MfG
    #define MfG

  7. #17
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    Guten Morgen Jaecko,

    ich brauchs zwar nicht, weil ich mich nur aus reiner Neugier mal mit dem Scancode beschäftigt habe. PickNik war sozusagen der Auslöser. Aber Killer hat ja bereits Interesse bekundet.
    Außerdem find ich es immer ziemlich nervig, wenn ich im Internet endlich mal was passendes gefunden habe, wo dann über Code gesprochen wird und man kann ihn dann nirgends ansehen. So groß kann der Code ja nicht sein, stell ihn doch einfach ein.

    Für was nimmt man denn am µC eine PS2 Tastatur? Oder gings da um die Barcodegeschichte?

    sast

    雅思特史特芬
    开发及研究

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Na denn: Hier isser.
    Ggf. müssten noch die Typen wie ui8_t nach uint_8 etc. geändert werden; je nach dem, was man selbst hernimmt.
    (die #includes für glob_defs und glob_type brauchts nicht wirklich)
    In der _cfg.h müssen noch die ganzen Pins/Ports/Interrupt-Daten eingestellt werden; dann einfach Init und man kann z.B. in kbdkey_ascii und kbdkey_func nachschauen, welche die zuletzt gedrückte "Ascii-Taste" bzw. Funktionstaste war.

    Und warum PS/2 am µC?... Naja, man muss ja nicht die ganze Tastatur hinhängen. Tastaturcontroller ausbauen und an andere Taster hängen geht auch. Hat halt den Vorteil: Es ist eine Interrupt-gesteuerte Eingabe mehrerer Tasten, und das ganze auch noch schön entprellt; automatische Wiederholung, wenn man länger drückt; Signal beim loslassen.
    Und wenn ich dann noch rauskrieg, wie man der Tastatur Befehle schicken kann, hat man mit den 3 LEDs sogar noch Schaltausgänge.
    Angehängte Dateien Angehängte Dateien
    #ifndef MfG
    #define MfG

  9. #19
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Das Ps/2 Protokoll ist bidirektional definiert
    z.B.
    http://www.marjorie.de/ps2/ps2_protocol.htm
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress