www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik serielle Maus an MAX232


Autor: Heiko (Gast)
Datum:

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

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Heiko,

Bedenke das die Maus auch noch betriebsspannung braucht.
Ich würde mal probehalber pin 4 und 6 an deinem seriellen anschluß auf 
5v setzen....


sven

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sven,

also die 5V sind vorhanden.
ich hab die Maus mal an den Pc angeschlossen und versucht mit VB6
die Daten auszulesen, funktioniert auch nicht.
Wie gesagt ich muß bestimmt irgendwas senden damit die Maus dann 
zurücksendet, ich weiß bloß nicht was!

Gruß Heiko

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Heiko,

ich habe bei "AVR Tastaturaufzeichnung" einen guten Link für Dich 
gefunden:

http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/...

Schau' mal ganz unten, vielleicht bringts ja was.

Grüße,

Sebastian

Autor: Niki Hammler (Gast)
Datum:

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

Autor: Uwe (Gast)
Datum:

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

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Niki,

kannst du mir mal die mice.c mailen.
habe leider kein Linux zur verfügung.

Danke
Heiko

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.