Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 30.01.2007, 19:52 Titel: Computermaus + Tastatur |
|
|
Ich hätte da mal eine Frage....
Was für Standartchips sind den eigendlich bei Computermäusen und Tastaturen verbaut?
Also Computermäuse und Tastaturen hatte ich schon öfters mal aufgehabt.
Bei der Computermaus sind zwei sich drehende Kreise drinne mit zwei Lichtschranken.
Was für ein Signal kommt beim Chip an und wie wird dieser dann zur seriellen Schnittstelle geschickt.
Computertastur hatte ich auch schon mal offen gehabt.
Wenn ich eine Taste nach unten drücke, legt sich ein Kontakt.
"ist hier auch eine matrize drinne verbaut"?
Ein paar Eingänge vom Chip und ein paar Ausgänge vom Chip.
Was für ein Strom kommt dort beim Chip an und was für ein Signal geht dann von diesem Chip wieder zum PC ab.
Cu
Ich hoffe ihr könnt mir schnell helfen |
|
Nach oben |
|
|
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 30.01.2007, 20:02 Titel: |
|
|
Also ich hab hier ne "Serial Mouse 2.0A" von Microsoft, bei der weiß ich dass ein 8051 Mikrocontroller drin ist. Der wird auch in manchen Tastaturen verbaut.
Meine Vermut ist, das eine Maus seriell die Änderung ihrer Position weitergibt, rel. fest steht dass dies bei 9600Baud oder bei Probs 300 Bauds geschiet.
Mehr weiß ich glaub ich nicht.
//Edit:
Mir ist grad eingefallen, die Maus meldet ja nix wenn sie im HyperTerminal oder nem anderen geöffnet wird. Vlt. muss der PC sie abfragen. Ich glaub im Internet wird man den einen oder anderen Code finden.
Für QB hab ich hier ein "Beispiel" wie man Informationen vom Treiber holt.
ACHTUNG:
Nur für QBasic geeignet (1.0) und nicht mehr für QuickBasic (4.5 oder 7.1) |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 30.01.2007, 20:21 Titel: |
|
|
Korrekt.
Das Programm/Betriebssystem, welches Eingabeinformationen haben will muss sich - bei beiden Geräten - in einen Interrupt einklinken. Bei der Maus war das imho der IRQ 12. Tastatur müsst ich erst nachgucken.
In der ISR wird dann die Kommunikation, ich gehe jetzt z.B. von der Tastatur aus, eine Anfrage an den Chip auf dem Mainboard (gibt 2 Tastatur"chips". Einen Tastaturchip in der Tastatur selbst und einen Tastaturcontroller auf dem Mainboard.) gesendet werden, ob gerade Zeit ist oder der Chip beschäftigt ist. Ist der Chip gerade nicht beschäftigt, gibt der Controller auf dem Mainboard ein entsprechendes Signal zurück. Wenn nicht, dann muss man das solange weiter probieren, bis es geht.
Als nächstes wird der Scancode vom Tastaturchip abgeholt.
Ähnlich verläuft es bei der Maus, allerdings hast du da zum Glück nur einen Chip/Controller zum Ansteuern. Komplizierter wird das Ganze aber wieder, da nur die Differenzen zum letzten Mal übertragen werden (irgendwo logisch, gell? ). Desweiteren muss die Maus initialisiert werden.
Ich hab bisher noch keine serielle Maus angesteuert, alles hier beruft sich auf die PS/2 Schnittstelle, aber bei dieser müsste es ähnlich ablaufen.
Wenns dir aber nur um den direkten Zugriff auf die beiden Geräte geht, gibt's auch einfacher Möglichkeiten. (DOS-Maustreiber, direkte Abfrage des Keyboardpuffers über Port 0x60 (bzw. 0x64).) _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 31.01.2007, 14:36 Titel: |
|
|
Hm, könntest Du ein paar Grafiken zur besseren Darstellung erstellen? |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 31.01.2007, 15:05 Titel: |
|
|
Du willst wirklich _direkt_ draufzugreifen, ohne irgendwelche Interrupts?
Wenn ja, dann werd ich mich mal dransetzen. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Georgp24
Anmeldungsdatum: 30.06.2006 Beiträge: 81 Wohnort: Ahlen
|
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
|
Nach oben |
|
|
|