-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: PS2 Tastatur Abfragen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86

    PS2 Tastatur Abfragen

    Anzeige

    Also ich habe mir mal anhand der Bascom hilfe ein Programm geschrieben um eine PS2 Tastatur abzufragen leider geht das aber nicht müsste nicht nach dem Tastaur initialisiern die Num Taste funktionieren? Oder werden die Leds extra gesteuert?
    Kennt vieleicht jemand einen besseren Code?
    Mein Code:
    Code:
    
    
    $regfile = "m16def.dat"
    
    $crystal = 8000000
    
    $baud = 9600
    
    $hwstack = 32
    
    $swstack = 10
    
    $framesize = 40
    
    
    Config Keyboard = Pinc.1 , Data = Pinc.0 , Keydata = Keydata
    
    
    Dim S As String * 12
    
    
    
    $serialinput = Kbdinput
    
    Do
    
    
     Input S
     Waitms 200
     Print S
    
    Loop
    
    End
    
    
    
    
    
    Kbdinput:
    
    
    $asm
    
    push r16
    
    push r25
    
    push r26
    
    push r27
    
    
    
    
    Kbdinput1:
    
    rCall _getatkbd    ;
    
    tst r24            ;
    
    breq Kbdinput1     ;
    
    pop r27
    
    pop r26
    
    pop r25
    
    pop r16
    
    $end Asm
    
    'just return
    
    Return
    
    B = Getatkbd()
    
    
    
    
    
    Keydata:
    
    
    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
    
    
    
    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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97
    schau mal unter Samples/ATKBD.bas

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    leider geht das aber nicht
    Was geht nicht? Was passiert, wenn du eine normale Buchstabentaste drückst? Funktioniert das dann?

    die Num Taste funktionieren? Oder werden die Leds extra gesteuert?
    Die Leds werden nicht in der Tastatur selbst angeschalten, sondern über einen Befehl vom Host aus. Wenn du also auf die Num Taste drückst, wird das an den Host gesendet und der muss dann die Led einschalten.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86
    Zitat Zitat von Pascal
    leider geht das aber nicht
    Was geht nicht? Was passiert, wenn du eine normale Buchstabentaste drückst? Funktioniert das dann?
    Naja ich bekomme nichts gesendet an meinen PC

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Naja ich bekomme nichts gesendet an meinen PC
    Wie meinst du das genau?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86
    Eigentlich müsste ich nach der eingabe bzw. eines Tastendrucks auf der Tastatur den Bucchstaben auf dem PC sehen(Terminalprogram)
    Das passiert aber nicht!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Also wenn du schon Codes aus der Hilfe benuzt, dann aber auch zusammenhängend.
    Deine Schleife enthält nicht den Code aus dem Beispiel. Das Beispiel mischt auch Terminal-Funktionen mit der Keyboard-Funktion.
    Willst du das auch?
    Deine Schleife erwartet Inhalte der Variable S aus der ser. Schnittstelle und nicht aus Keyboard.
    Wenn da nicht's kommt kommt auch aud deinem PC nicht's.
    Benutze:

    Do

    B = Getatkbd()

    Loop Until B <> 0

    Print B

    Loop

    End
    Variable erklären ist noch nötig. Aber, die Hilfe ist dein Freund

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86
    Mit genau dem(ohne Terminalfunktion) in der Hilfe gennanten Code geht es aber auch nicht!!

    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    Config Keyboard = Pinc.0 , Data = Pinc.1 , Keydata = Keydata
    
    Dim B As Byte
    Main:
    
    
    B = Getatkbd()
    
    If B > 0 Then
     Print B ; Chr(b)
     Goto Main
     End If
    
                  Goto Main
                  $asm
    push r16 
    push r25
    push r26
    push r27
    
    Kbdinput1:
    rCall _getatkbd 
    tst r24
    breq Kbdinput1 
    pop r27 ;
    pop r26
    pop r25
    pop r16
    $end Asm
    
    Return
    
    B = Getatkbd()
    
    
    Keydata:
    
    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
    
    
    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

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Diesen Code habe ich aus dem Buch von Claus Kühnel "Programmieren der AVR RISC Mikrokontroller mit BASCOM-AVR".
    Sollte eigendlich gehen.

    Code:
    $regfile = "m16def.dat"                  
    $crystal = 8000000                     
    $baud = 9600
    $hwstack = 32
    $swstack = 10
    $framesize = 40 
    Config Keyboard = Pinc.0 , Data = Pinc.1 , Keydata = Keydata
    
    Dim B As Byte
    
    Print "Eingabetest von PC-AT-Tastatur"
    
    Do
      B = Getatkbd()                        ' Abfrage der Tastatur
      If B > 0 Then
          Print B ; Chr(b)
      End If
    Loop
    End
    
    
    Keydata:
    ' Shift-Taste nicht gedrückt
    Data 0 , 0 , 0 , 0 , 0 , 0 , 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
    
    ' Shift-Taste gedrückt
    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
    Noch viel Spaß beim Experimentieren!!

    jon

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86
    Irgendwie klappt das bei mir immer noch nicht ich bekomme mit keinem Code eine Antwort,kann man zu dumm dazu sein? (mann braucht doch keine Pullups oder so?)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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