PS/2 auslesen && ggf. interpretieren

Gast #187191
Lesenswert?

Salute,

hab mal ein kleines Programm geschrieben, das die PS/2-Ausgabe einer
kleinen Maus an einem Roboter (sicher auf ebener Flaeche fahrend)
ausliest.

Laesst man das Programm vollstaendig, wird der Roboter als kreisfoermig
mit Tonnenantrieb, der X-Achse in Drehrichtung und der Y-Achse in
Fahrtrichtung angenommen.

Daraus werden die gefahrenen Strecken in X/Y-Richtung und die Drehung,
jeweils
0..255 =^ 0..[FIELD_WIDTH||FIELD_LENGTH||CIRCLEVALUE] cm
berechnet und per I2C an 0100000, 0100001 und 0100010 weitergegen, was
bei mir PCF8574P mit angehaengten DAC0808LCN sind.

Somit kann die Platine unabhaengig betrieben werden und ohne grosze
Protokollgeschichten mit einem ADC einer anderen Platine gelesen werden
- gut bei Eingangsknappheit oder zeitkritischen Aufgaben.

Vielleicht kann ja jemand, der das Protokoll gut kennt, kurz etwas dazu
sagen, ob das so funktionsfaehig ist, oder ob ich PS/2 missverstanden
habe - laut Simulator (AVRStudio4) tut es jedenfalls einwandfrei. Nur
ACKs werden noch nicht ausgewertet, sondern einfach weggeworfen, ich
habe keine Vorstellung, was an Zeitreserven besteht, erstes
AVR-Projekt.

Ach ja, eins noch, muesste ich fuer USB->PS2-Adapter ein bestimmtes
Signal "sprich jetzt PS/2" an die Maus senden? Wenn Adapter
beiliegen, muesste das prinzipiell ja zumindest gehen, oder?

Grusz,
David

PS: Anschluesse: Clock an PB,0 zum Lesen und an PD,4 zum Schreiben;
Data an PB,1 zum Lesen und an PD,5 zum Schreiben; I2C-Clock an PC,1 und
I2C-Data an PC,0.

PPS: Winzip mag mich nicht - alles auszer code.c und den stis mus nach
./include, Danke :)
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren