logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom Config Keyboard, Keydata prośba o wytłumaczenie

paradoxium 27 Lut 2010 21:20 1335 5
REKLAMA
  • #1 7760501
    paradoxium
    Poziom 13  
    Witam

    Udało mi się podłączyć w ramach wolnego czasu, klawiaturę PS/2 do Atmegi32. Wszystko działa bardzo ładnie. Ale zastanawiam się nad kawałkiem kodu o nazwie keydata. Wiem, że określa się w nim numery znaków otrzymanych z klawiatury, ale nie mogę znaleźć (ani wymyślić) jak ten zestaw danych odnosi się do klawiatury. Zapewne jest na to jakaś reguła. Dokładniej chodzi mi o ten fragment kodu (help Bascoma):

    
    Keydata:
    
    'normal keys lower case
    
    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
    
    


    Moje pytanie (choć może głupie) to skąd wiadomo, że pierwsza wartość z ostatniej linijki "48" to klawisz 0 ?

    Dodam, iż przyda mi się ta wiedza bardzo, gdyż robię prosty edytor tekstu z zapisem do eeproma (tak dla ćwiczeń) i dopóki miałem wyświetlacz 16*2 wszystko było pięknie. Odkąd podłączyłem wyświetlacz graficzny 128*64 (KS108) cały świat bascoma przewrócił się do góry nogami... ;). Rzeczy, które działały nie chcą działać itd, itp. ale to już inny temat.
  • REKLAMA
  • #2 7760593
    nenpa8lo
    Poziom 17  
    paradoxium napisał:
    Moje pytanie (choć może głupie) to skąd wiadomo, że pierwsza wartość z ostatniej linijki "48" to klawisz 0 ?

    Może dlatego, że wartość decymalna 48 w kodzie ASCII to właśnie 0?
  • REKLAMA
  • #3 7760597
    landy13
    Poziom 31  
    paradoxium napisał:
    skąd wiadomo, że pierwsza wartość z ostatniej linijki "48" to klawisz 0 ?
    Np stąd
  • REKLAMA
  • #4 7760613
    paradoxium
    Poziom 13  
    nenpa8lo napisał:
    paradoxium napisał:
    Moje pytanie (choć może głupie) to skąd wiadomo, że pierwsza wartość z ostatniej linijki "48" to klawisz 0 ?

    Może dlatego, że wartość decymalna 48 w kodzie ASCII to właśnie 0?


    To jakby jest oczywiste, ale dlaczego występuje akurat w ostatniej linijce na pierwszej pozycji... ?
  • REKLAMA
  • #6 7760747
    paradoxium
    Poziom 13  
    A może jakiś opis dla nieco bardziej leniwych amatorów mikrokontrolerów ? Rozumiem, że data na wykresach odpowiada temu co jest w kodzie, ale dalej nie wiem, czemu np. to "48", a po naszemu 0 jest pierwszą wartością 8 bitu danych. Zapewne tak zaprojektowano klawiatury, ale w takim wypadku potrzebuję jakiegoś opisu.
REKLAMA