- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: Probleme beim Anschließen von Tastatur

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Probleme beim Anschließen von Tastatur

    Hallo!

    Ich bin noch relativ neu bei der Mikrocontroller-Programmierung.

    Ich möchte eine normale Tastatur mit einer PS/2 Schnittstelle an einen MIkrocontroller anschließen. Dazu habe ich die Dataleitung und die Clockleitung mit zwei Pins eines Controllers (Atmega32) verbunden und für die Stromversorgung gesorgt.

    Ich habe den Controller mit folgendem Code programmiert:

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600
    
    
    Config Keyboard = Pind.5 , Data = Pind.6 , Keydata = Keydata
    
    Dim Key As Byte
    
    Print "Test der Eingabe von einer AT-Tastatur"
    
    Do
    Key = Getatkbd()
    
       Print Chr(key)
    
    Loop
    
    
    End
    
    Keydata:
    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
    
    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

    Leider funktioniert das nur halb.
    Manchmal werden falsche Tastendrücke angezeigt, manchmal gar keine.

    Nur selten wird der richtige Tastenddruck angezeigt.

    Woran liegt das?

    Danke für eure Bemühungen,

    aquafisch

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Ort
    Dortmund
    Alter
    31
    Beiträge
    1.641
    Ich hab dazu ne Frage, und zwar, ob die selbe taste auf der Tastatur auch verschieden erkannt wird oder die Tasten anscheinend falsch zugeordnet sind. Also ab a immer g ergibt oder ob a je nachdem alles ergeben kann... das erstere ist wäre natürlich das bessere, deshalb geh ich vom zweiten aus. Hört sich nach einem Timingproblem an, das heißt halt dass einzelne Bits nicht erkannt werden und so halt Murks rauskommt. Leider hab ich da sonst nicht allzuviel Ahnung von, wundere mich aber, warum das mit 16 Mhz (die hoffentlich auch als Quarz vorhanden sind und eingestellt sind) nicht geht, eigentlich müsste das schnell genug sein...
    Hab mir grad den Artikel über PS/2 in der wikipedia durchgelesen, kann es eventuell sein dass du aus welchem Grund auch immer clock auf low ziehst? Das würde ja begründen, warum nix ankommt, ist aber mehr als merkwürdig... mit den Bascom-Funktionen hab ich mich noch nicht auseinandergesetzt, weshalb ich dir dazu nichts sagen kann, kann micch allerdings auch hier nur darüber wundern, dass du kein Output oder Input angibst, ich gehe mal davon aus dass Bascom das automatisch macht. ist es Absicht, dass du ausgerechnet den PWM-Pin und den ISP-Pin benutzt hast? Sind die für die Tastatur notwendig oder wie? Das sind echt die letzten pins die ich benutzt hätte. Außerdem: Ist der M32 in einem RN-Control oder sonstigem Board von Robotikhardware oder selbst aufgebaute Schaltung? ich stell grad son paar doofe Fragen, aber ich kann nur spekulieren.

    MFG
    Lunarman
    o
    L_
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!

    http://de.youtube.com/watch?v=qV1cZ6jUeGE

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Das Programm ist soweit ok.
    Vielleicht hilft es ja, wen du mal
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    reinsetzt. Wobei ich kaum glaube, dass das hilft^^

    Hast du während dem Auslesen der Tastatur den ISP-Stecker angeschlossen? Dann könnte es nämlich zu Störungen kommen. Versuche mal andere Pins zu nehmen.

    @Lunarman,
    ob die selbe taste auf der Tastatur auch verschieden erkannt wird oder die Tasten anscheinend falsch zugeordnet sind.
    Die Zuordnung scheint wohl richtig zu sein, wenn manchmal die richtige Taste ausgegeben wird.

    mit den Bascom-Funktionen hab ich mich noch nicht auseinandergesetzt, weshalb ich dir dazu nichts sagen kann, kann mich allerdings auch hier nur darüber wundern, dass du kein Output oder Input angibst, ich gehe mal davon aus dass Bascom das automatisch macht.
    Das macht Bascom automatisch, wenn du den Config Keyboard Befehl verwendest.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  4. #4
    Danke für die Antworten.
    Aber leider funktioniert es immer noch nicht, obwohl ich den Quarz überprüft habe, und die Pins aud die die Leitungen gelegt sind, geändert habe. Das ist glaube ich bei der Tastatur sowieso egal.

    Es ist so, dass meistens wenn man die Tasten drückt nur eine "Leerzeile" ankommt. Selten kommen tatsächlich Buchstaben an. Ungefähr die Hälfte von denen entsprechen der echt gedrückten Taste. DIe anderen sind irgendwelche andere.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Hast du eventuell eine andere Tastatur da, mit der du es mal probieren könntest?
    Sonst fällt mir nichts mehr ein...

    Viele Grüße,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  6. #6
    Ja, ich habe das natürlich auch mit einer anderen Tastatur ausprobiert.
    Damit funktioniert es leider auch nicht.

    Hat noch irgendjemand Ideen, woran es liegen kann, dass das nicht funktioniert?

    aquafisch

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Ort
    Dortmund
    Alter
    31
    Beiträge
    1.641
    Nein... ich weiß nur dass es damit häufiger Probleme gibt...
    o
    L_
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!

    http://de.youtube.com/watch?v=qV1cZ6jUeGE

Berechtigungen

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

12V Akku bauen