Forum: Mikrocontroller und Digitale Elektronik PIC :: Virtuelle Tastatur


von Martin M. (kaktus621) Benutzerseite Flattr this


Angehängte Dateien:

Lesenswert?

Hallo!

Ich möchte eine Art virtuelle Tastatur machen, also ein µC, der am PS/2 
Port hängt und alle x Sekunden eine Taste "drückt". Also habe ich mich 
ein wenig auf die Suche begeben und auch einiges über das PS/2 Protokoll 
herausgefunden.
Anschließend habe ich dann die Software für den PIC geschrieben.. nur 
funktioniert sie leider nicht :(

Ich habe zwar schon einige Bugs gefunden und behoben, aber es 
funktioniert trotzdem nicht.

Die Schaltung habe ich nach diesem Prinzip aufgebaut, die genaue 
Pinbelegung befindet sich allerdings im SourceCode :
http://www.marjorie.de/ps2/ps2.jpg

Angeschlossen habe ich den Mikrocontroller an einen PS/2 -> USB Adapter 
(nicht nur eine einfache Kupplung, sondern einen echten Adapter (mit 
eigener Elektronik))
Schließe ich dort eine echte PS2 Tastatur an, macht die Tastatur, sobald 
ich den Adapter dann an den USB Port stecke, den Selbsttest. Außerdem 
blinkt eine am Adapter befindliche Leuchtdiode jedes mal, wenn ich auf 
der Tastatur eine Taste drücke.

Schließe ich aber nun meinen Mikrocontroller an, so macht dieser zwar 
(zumindest laut Programmcode :-P) auch den Selbsttest, aber wenn eine 
Taste gedrückt wird, blinkt die LED am Adapter nicht immer. Soweit ich 
mich noch erinnern kann war es immer nur die 3. oder 4. Taste (0x45 oder 
0x4D), bei der der Adapter auch geblinkt hat.

Ich hoffe ihr könnt mir irgendwie weiterhelfen und mir sagen, wieso es 
nicht funktioniert.

Verwendet wird ein PIC16F628A mit Internem Oszilator. Source Code ist im 
Anhang.

Vielen Dank
--Martin M.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wertet Dein PIC auch die vom PC an die Tastatur gesendeten Befehle aus? 
Die sind Bestandteil des PS/2-Protokolls und müssen korrekt ausgewertet 
werden; manche Geräte erkennen sonst nicht, daß eine Tastatur vorhanden 
ist (so gesehen bei Notebooks, Dein USB-PS/2-Adapter kann sich da 
durchaus ähnlich verhalten).

von Martin M. (kaktus621) Benutzerseite Flattr this


Lesenswert?

Also einige Befehle müsste er theoretisch verarbeiten, Nur ob das auch 
wirklich funktioniert kann ich leider schlecht testen..

0xF2 (Read ID)
0xED (Leuchtdioden)
0xFF (Reset)
0xEE (Echo)

Müssten verarbeitet werden..
Bei den anderen wird einfach nur mit Acknowledge geantwortet..

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.