Forum: Mikrocontroller und Digitale Elektronik Mini-USB-Modul UM2102 Treiber


von Ralph H. (guru)


Lesenswert?

Hallo wer von Euch setzt das Mini-USB-Modul UM2102 von ELV ein ?

Ich hab das Problem, das der Treiber von ELV das Ding zwar findet
und es auch funktioniert, aber wenn ich nun mit dem ID-Changer einen 
eigenen Treiber erstellen will, meldet sich das UM2102 nach dem 
Erstellen
nicht mehr mehr so wie vorher, sondern Windows (XP) möchte nen neuen 
Treiber suchen und findet den nicht mehr, obwohl er ja bereits 
installiert ist und das UM2102 vorher gefunden hatte.

Das ist mir nun schon 2x passiert und ich hab nur noch 1 UM2102 zum 
Testen. Was könnte ich falsch gemacht haben ?

Ich hab sowhl den bei ELV downloadbaren Treiber, als auch den 
aktuellsten von der SiLabs Homepage probiert und nutze Windows XP.

Danke für Eure Hilfe sagt Ralph !

von Christian R. (supachris)


Lesenswert?

Wenn du die VID und/oder PID änderst, musst du natürlich in der INF 
Datei des Treibers diese VID/PID Kombination mit eintragen, sonst wird 
natürlich nichts gefunden.

von Ralph H. (guru)


Lesenswert?

Danke Chris, ich schau das mal an, aber ich hatte ansich an den beiden 
Werten nichts geändert !

Wie kann ich rausbekommen, welche VID/PID das Modul meldet ?

von Christian R. (supachris)


Lesenswert?

Im Gerätemanager. Auch ohne Treiber kannst du bei Details gucken, welche 
Hardware IDs das Ding hat. Oder mit USB View.

von Ralph H. (guru)


Lesenswert?

Jo Danke Chris,

das Ding funktioniert zumindest nun unter Windows 7.

Allerdings ist ein neues Problem aufgetaucht. Wenn ich Daten sende, wird 
trotz aktiviertem Handshake via CTS immer genau 1 Zeichen verschluckt :(
Wenn ich die zu übertragenden Zeichen einzeln am Terminalprogramm 
eingeben, dann geht wird kein Zeichen verschluckt.
Soll das Terminalprogramm aber mehrere Zeichen auf einmal übertragen, 
dann wird wieder genau 1 Zeichen verschluckt.

Es scheint als ob das nächste Zeichen schneller kommt, als mein Programm 
das CTS Signal wieder deaktiviert.

Was könnte ich falsch machen ?

Gruß Ralph

von Ralph H. (guru)


Lesenswert?

Also es ist wirklich so, das meine Programmschleife nach dem Einlesen 
eines Bytes zulange braucht, und dabei das 2. Zeichen verschluckt wird.
Aaaaaaaaber das dürfte eigentlich nicht passieren, denn ich nutze das 
Handshake via DTR->CTS.
Konkret wird DTR am Anfang der V24 Einleseroutine aktiviert und SOFORT 
nach dem Einlesen (also während des STOP Bits) wieder deaktiviert.
Damit dürfte doch der Sender (UM2102) kein Zeichen mehr senden,oder?

Im Gerätemanager von Windows 7 habe ich auch schon beim COM-Port für das 
UM2102 den UART-PUFFER deaktiviert und die korrekte Baudrate drinstehen.
Die Signale DCD,RTS und DSR hab ich am UM2102 direkt gebrückt.

Wo könnte das Problem liegen, das der UM2102 offensichtlich weitersendet 
?

Danke sagt Ralph

von Ralph H. (guru)


Lesenswert?

Ich antworte mir mal selber hihi, in der Hoffnung es nützt jemanden 
etwas.

Mein Problem war, dass der UM2102 trotz dektiviertem CTS weiter sendet, 
und zwar genau 1 Zeichen (nämlich das was verschluckt wurde ;))

Meine Routine hat NACH dem Empfang des letzten Bit's das CTS auf inaktiv 
geschaltet und das war ZU SPÄT !
Nun, nachdem ich sofort nach Erkennen des StartBits deaktiviere bereits 
CTS ! Das UM2102 sendet das Zeichen noch zuende und wartet dann auf die 
nächste Freigabe von CTS :D

Das wars schon :)

Gruß Ralph

von Ralph H. (guru)


Lesenswert?

Zusatzhinweis zum obigen Post !

Meine Vorgehensweise funktioniert mit dem UM2102 und sämtlichen mir 
vorliegenden USB/RS232 Konvertern, ABER NICHT an einer echten V24 COM 
Schnittstelle am PC :-( Warum ist mir ein Rätsel. Dazu mach ich aber mal 
nen extra Thread auf.

Danke Euch !

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
Noch kein Account? Hier anmelden.