Damit man den µC mit Texten füttern kann, habe ich mir eine kleine Tastatur zugelegt: http://www.ebay.de/itm/161307210116?_trksid=p2059210.m2749.l2648&ssPageName=STRK%3AMEBIDX%3AIT Zu meinem Glück kann sie nicht nur USB, sondern beherrscht dank zweier Pullup- Widerstände (je 4,7k Ohm) auch den PS/2- Modus. Nach langem Suchen im Internet und vielem Herumprobieren habe ich nun eine halbwegs taugliche Lösung gefunden. Aber es hapert noch an der deutschen Tastenbelegung, speziell bei Alt- Gr. Frage: Hat jemand dieses Problem gelöst?? MfG!!
DH1AKF K. schrieb: > Aber es hapert noch an der > deutschen Tastenbelegung, speziell bei Alt- Gr Als erstes musst du dir dazu eine deutsche Tastatur kaufen. Georg
Georg schrieb: > Als erstes musst du dir dazu eine deutsche Tastatur kaufen. Hahaha, der war gut...! Auch bei eBay trügt oft der Schein. Zugegeben, ich war beim Auspacken leicht nervös, weil die Verpackung ebenfalls eine QWERTY- Tastatur zeigte. Aber wie man sieht, ist das deutsche Layout vorhanden. Nun mal im Ernst: hat jemand die dazu passende Codetabelle?? MfG Wolfgang
DH1AKF K. schrieb: > Nun mal im Ernst: hat jemand die dazu passende Codetabelle?? Die Scancodes von "PS/2"-Tastaturen werden hier beschrieben: http://de.wikipedia.org/wiki/Scancode Das ist unabhängig vom Aufdruck.
Vielen Dank für den Tipp!! Die Routine ist in C geschrieben, benutzt einen 70 kHz- Timer- Interrupt und sollte somit auf allen gängigen Controllern funktionieren, wenn man die Initialisierung entsprechend anpasst. Ist noch nicht ganz fertig (3. Tastenebene mit AltGr fehlt noch,) aber funktioniert.
DH1AKF K. schrieb: > Nun mal im Ernst: hat jemand die dazu passende Codetabelle?? Welche Codetabelle? Meinst Du den Scan Code Set? Davon gibts nur drei ... siehe http://www.marjorie.de/ps2/start.htm Da gibts auch noch viel mehr Infos zm Umgang mit der PS/2 - Tastaturschnittstelle.
DH1AKF K. schrieb: > Die Routine ist in C geschrieben, benutzt einen 70 kHz- Timer- Interrupt Holla die Waldfee ;) Einen permanent laufenden 70kHz Timer Interrupt zu nutzen um eine Tastatur einzulesen erscheint mir reichlich dickes Kaliber für solch eine Aufgabe. Ich weiß nun nicht was "PSoC" für eine Chip ist ... aber ... hat der keine einfache synchrone serielle Schnittstelle für einen 9 Bit Empfang? Oder wenigstens einen interruptfähigen Eingang der nur auf jeder fallenden Flanke des Clocksignals einen Interrupt erzeugt?
:
Bearbeitet durch User
Ralf D. schrieb: > der wenigstens einen interruptfähigen Eingang der nur auf jeder > fallenden Flanke des Clocksignals einen Interrupt erzeugt? Hallo Ralf, mit Interrupt auf der negativen Taktflanke habe ich lange herumprobiert, aber leider ohne Erfolg. Weder mit sofortigem Einlesen der Datenbits noch mit Zeitverzögerung lief das wiederholbar stabil. Erst das Polling im 70 kHz- Takt hat funktioniert. Mag sein, dass hier irgendwelche Störimpulse im Spiel waren, die hätte man vielleicht abblocken sollen.
Ralf D. schrieb: > Einen permanent laufenden 70kHz Timer Interrupt zu nutzen um eine > Tastatur einzulesen erscheint mir reichlich dickes Kaliber für solch > eine Aufgabe. Hallo Ralf, es geht auch mit Interrupt auf die HL- Flanke des PS/2- Taktes! Das ist natürlich eine starke Entlastung des Prozessors. Problem waren vermutlich kleine Bugs in der ISR. Die Routine ist noch nicht vollständig fertig: Es fehlt noch die Alt-Gr Umschaltung.
> Zu meinem Glück kann sie nicht nur USB, sondern beherrscht dank zweier > Pullup- Widerstände (je 4,7k Ohm) auch den PS/2- Modus. Von 5 V plus an die USB-Leitungen? Oder innendrin?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.