mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PC akzeptiert PS/2-Tastatur-Implementierung nicht


Autor: Gnusmas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche momentan einen µC (ATTiny2313) an den PS/2-Tastatur-Port 
meines PC's anzuschließen. Dazu verwende ich dementsprechend die CLK und 
DATA-Lines des Anschlusses.

Mein Ziel ist es, später einfache Tastendrücke (also Scancodes) an den 
PC zu schicken. Da ich das ganze schon vor dem OS-Layer brauch, hatte 
ich mich statt einer USB-Implementierung für die PS/2 Implementierung 
entschieden.

Jedoch krieg ich leider keine funktionierende Implementierung hin. Ich 
häng jetzt schon etwa eine Woche an dem "Problem". Dabei habe ich 
diverse eigene Implementierungen versucht; momentan teste ich die 
Schnittstelle aus diesem Projekt: 
http://www.circuitcellar.com/avr2006/winners/Entri...

Ich kann zwar die entsprechenden Befehle vom PC empfangen (0xFF also 
Reset - wird manchmal aber auch nur als 0xFE, also um ein Bit verschoben 
quasi, empfangen ... Timingproblem bei meiner Implementierung? Tritt bei 
der anderen aber nicht auf); aber der PC will einfach nicht meine 
Befehle annehmen. Egal was ich sende, ich krieg keine Antwort und der PC 
hängt sich mit "No Keyboard found" auf.

Muss ich beim Senden noch irgendetwas beachten? Der Code vom 
ATir-Projekt müsste doch eigentlich funktionieren. Irgendwie verändert 
sich das Verhalten des PC's hier ständig; nur nicht so, wie es soll. 
Aktueller Ablauf einer Boot-Sequenz:
< = Empfangen
> = gesendet
$xx = Übertragungsfehler (xx = empfangenes Byte)

<FF
>FA
>AA
<$00>FE
$00>FE
$00>FE
$00>FE
$00>FE
$00>FE
$00>FE
$00>FE
$00>FE
$00>FE

Momentan zieht der PC die Dataleitung beim Senden die Data-Leitung 
permanent auf Low ... vorhin hat er das z.B. noch nicht gemacht - Ich 
versteh es langsam nicht mehr ...

Hat irgendwier Tipps oder Ratschläge? Quellcode wäre atm. fast 1:1 der 
vom ATir (handler2, ps2device, utility).

Ein zweiter PC sendet jede 2sec 0xFF, nimmt aber auch meine Antwort 
nicht wahr (0xFE und 0xAA); sendet einfach das ganze weiter und weiter 
...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.