serielle Maus an MAX232

Gast #14357
Lesenswert?

Hallo Leute,

Ich möchte mit einem AVR 2333 mit TX/RX über einen MAX232, an dem eine 
Serielle 9polige Maus angeschlossen ist, die Positionswerte der Maus 
auslesen.
Laut meinen Nachforschungen haben die alten seriellen Mäuse eine 
Baudrate von 2400.
Ich hab schon mehrere Kombinationen mit der Baudrate probiert, nur 
leider bekomme ich keinen Wert zurück.
Muss man vielleicht zuerst einen String senden, damit die Maus dann 
zurücksendet oder so?

Hat schon jemand einmal so ein Projekt in Angriff genommen???

Würde mich über jede Hilfe freuen

Grüße
Heiko
Gast #14361
Lesenswert?

Ja, das stimmt, die Maus muss zuerst initialisiert werden!

Schau in den Source Code des Maustreibers von Linux, in der Datei mice.c 
gibt es eine Funktion I_imps2. Dort kannst du die Initialisierung für 
das Intellimouse ps2 Protokoll sehen.
Wenn du diese Initialisierungsbytes gesendet hast, sollte sich die Maus 
ansprechen lassen!

void PS2_Init(void)
{
  static unsigned char s0[] = { 243, 200, 243, 100, 243, 80, };
  static unsigned char s1[] = { 246, 230, 244, 243, 100, 232, 3, };
  int acks = 0;
  int n;

  for (n = 0; n < sizeof s0; ++n)
    acks += sendByte(s0[n]);
  for (n = 0; n < 100; ++n)
    delay();
  for (n = 0; n < sizeof s1; ++n)
    acks += sendByte(s1[n]);
}

das sollte helfen

mfg

Niki
Gast #14362
Lesenswert?

Hi!
Mäuse: 1200/8/N/1
MS-Maus(2Tasten): 3 Byte a 7Bit je Übertragung
MS-Systemmaus:(3Tasten)5 Byte a 8Bit
Stromversorgung über TXD der Schnittstelle
Mauskennung auslesen: DTR kurz mal aktivieren dann sendet die MS-Maus 
ein "M"($4d)
Jedes vernünftige Schnittstellenprog.,welches HEX anzeigen kann, 
empfängt die Zeichen. Wenn nicht Maus def.

Gruss Uwe

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