-
        

Ergebnis 1 bis 4 von 4

Thema: [gelöst] brauche Hilfe bei Funkt. getatkbd()

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76

    [gelöst] brauche Hilfe bei Funkt. getatkbd()

    Anzeige

    Hallöchen!

    Ich habe wie in dem Buch "Programmieren der AVR..." von Claus Kühnel beschrieben eine PC-AT-Tastatur an mein RN-Control angeschlossen und die im Buch dargestellte Software leicht modifiziert, sodass folgendes dabei rauskam:
    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    $crystal = 16000000
    $baud = 9600
    
    Config Keyboard = Pind.2 , Data = Pind.4 , Keydata = Keydata
    Config Portc = Output
    
    Dim Key As Byte
    Dim I As Byte
    
    For I = 0 To 7
       Portc.i = 1
    Next
    
    Portc.0 = 0
    Do
       Key = Getatkbd()
    Loop Until Key <> 0 
    Portc.1 = 0
    
    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
    
    End
    Das Programm sollte eigentlich nur dazu dienen, die Funktionalität der beschriebenen Kombination zu testen. Leider tut sich beim Betätigen einer Taste aber absolut nichts. Ich hoffe ihr wisst einen Rat.

    Kann es vielleicht sein, dass die vom Board bereitgestellte Leistung nicht für die Tastatur reicht? Greife die Spannung für das Keyboard am für externe 5V-Komponenten vorgesehenen Stecker ab.

    Grüße, Thomas

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Also beim AT-Keyboard kann man nicht viel falsch machen...
    Das Sample aus dem Handbuch sollte easy gehen.
    5V stimmt, ich nehme mal an, dass deine Pins irgendwie nicht stimmen...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    hab den quelltext leicht abgeändert (s.o.) und die tastatur direkt ans netzteil angeschlossen. in einem gewissen umfang scheint das ganze auch zu funktionieren, aber ich hab eine riesen verzögerung drin und das board spricht auch erst nach dem betätigen von mehreren tasten an. hast du 'ne ahnung, woran das liegen könnte?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    hab den fehler gefunden, aus irgendeinem grund stimmt die belegung der leitungen der tastatur nicht mit der vorgesehenen überein, sprich data und clock waren vertauscht... keine ahnung warum.

Berechtigungen

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