mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC :: Virtuelle Tastatur


Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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..

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.