Hallo, Ich habe folgendes Problem: Ich verwende FT232R Chip unter WinXP und Windows 7, Jedes mal wenn in der Nähe eine induktive Last ein- oder ausgeschalten wird, geht die Verbindung verloren. Unter Windows 7 ist das kein Problem, weil das Betriebsystem die Verbindung wieder aufnimmt. Unter WinXP geht das leider nicht und ich muss entweder den Chip abstecken und wieder anstecken oder im Gerätemanager den "USB Serial Converter" unter "USB-Controller" deaktivieren und wieder aktivieren. Nachdem die Hard und Software über Stunden unbeobachtet laufen soll, kann ich beides nicht machen. Jetzt stellt sich mir die Frage, ob es eine Möglichkeit gibt via Software den "USB Serial Converter" zu deaktivieren und dann wieder aktivieren? Ich verwende als Compiler und IDE LabWindows/CVI Danke im Vorraus, Stefan
Stefan_H schrieb: > Hallo, > > Ich habe folgendes Problem: Ich verwende FT232R Chip unter WinXP und > Windows 7, Jedes mal wenn in der Nähe eine induktive Last ein- oder > ausgeschalten wird, geht die Verbindung verloren. Unter Windows 7 ist > das kein Problem, weil das Betriebsystem die Verbindung wieder aufnimmt. > Unter WinXP geht das leider nicht und ich muss entweder den Chip > abstecken und wieder anstecken oder im Gerätemanager den "USB Serial > Converter" unter "USB-Controller" deaktivieren und wieder aktivieren. > > Nachdem die Hard und Software über Stunden unbeobachtet laufen soll, > kann ich beides nicht machen. Jetzt stellt sich mir die Frage, ob es > eine Möglichkeit gibt via Software den "USB Serial Converter" zu > deaktivieren und dann wieder aktivieren? > > Ich verwende als Compiler und IDE LabWindows/CVI > > Danke im Vorraus, > > Stefan Hallo Stefan, hast Du schon mal versucht den Rechner per USV vom Stromnetz zu entkoppeln. Ich würde erst mal versuchen durch solche Maßnahmen das Problem an sich zu vermeiden. Auf der seriellen Seite dann z.B. zusätzliche Abschirmung durch einen Metallschlauch.
Hallo, meldet der sich richtig über Plug&Play ab oder bleibt die Verbindung hängen? Wenn nur die Verbindung hängen bleibt,liegt es vermutlich daran, dass viele Datenfehler aufgelaufen sind und der Host die Endpunkte in HALT setzt. Dann musst du die mit einem Clear_Feature(EP_HALT) wieder loslaufen lassen, falls du die Möglichkeit hat. Gruß
Eine echte serielle Schnittstellenkarte in einem PCI/PCIe Slot sollte Dein Problem lösen. fchk
Hi, hast du auf dem XP-Rechner zufällig das FT-Prog Tool von FTDI? Damit kann man die ICs zurücksetzen um geänderte EEPROM-Daten zu übernehmen, nach dem Reset melden sie sich komplett neu an. Vielleicht kannst du da das Kommando mitschneiden und selber senden.
In der FTD2XX.dll von FTDI gibt's die Funktion FT_CyclePort, die genau das macht. "The effect of this function is the same as disconnecting then reconnecting the device from USB. Possible use of this function is situations where a fatal error has occurred and it is difficult, or not possible, to recover without unplugging and replugging the USB cable." http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide%28FT_000071%29.pdf
Hallo Leute, Danke für die Antworten... aber... ;-) Störungen zu vermeiden wäre zwar super, ist aber durch gewisse Umstände nicht möglich. Das Board war eigentlich nur für Tests und entwicklung gedacht. Der FT232R liegt EMV-Technisch ganz schlecht und sie die Datenleitung für USB liegt quer über das ganze Board.... Problem ist, das das Board "irrtümlich" im Einsatz ist und ich die Sache ohne Hardwareänderungen zum laufen bringen muss. Bzgl. Clear_Feature(EP_HALT): Ich habe leider nur wenig Ahnung von USB ansich. Ich Kann den fehler nur so beschreiben: Wenn der Fehler Passiert, hört man das Typische Ab-/Anstecken-Geräusch von Windows XP und der der Chip lässt sich nichtmehr ansprechen:
1 | ftStatus=FT_Open(0,&ftHandle); |
ftStatus ist immer 1 (invalid ftHandle) Womit ich dann FT_CyclePort(ftHandle) nicht ausführen kann, da ich keinen ftHandle habe. Wie gesagt, das einzige was hilft ist USB-Stecker raus und wieder rein, oder im Gerätemanager den "USB Serial Converter" deaktivieren und wieder aktivieren. glg, Stefan
Stefan_H schrieb: >
1 | > ftStatus=FT_Open(0,&ftHandle); |
2 | >
|
> ftStatus ist immer 1 (invalid ftHandle) > > Womit ich dann FT_CyclePort(ftHandle) nicht ausführen kann, da ich > keinen ftHandle habe. Ist das Gerät überhaupt auf Geräteindex 0 zu finden bzw. was liefert FT_CreateDeviceInfoList zurück?
Hallo, Arc Net schrieb: >>> ftStatus=FT_Open(0,&ftHandle); >> > ftStatus ist immer 1 (invalid ftHandle) >> >> Womit ich dann FT_CyclePort(ftHandle) nicht ausführen kann, da ich >> keinen ftHandle habe. > > Ist das Gerät überhaupt auf Geräteindex 0 zu finden bzw. was liefert > FT_CreateDeviceInfoList zurück? Ja, Gerät ist immer auf 0, wenn der Fehler auftritt, wird kein device erkannt! bluppdidupp schrieb: > http://stackoverflow.com/questions/1438371/win32-a... Ja, das ist ein schritt in richtung lösung. Mit dem HH_Lib_Test kann ich das entsprechende Device disablen und enablen, danach geht alles wieder. Jetz muss ich es nur schaffen die Lib auf Labwindows umzuschreiben... Melde mich wenn es neues gibt! lg Stefan
Es wäre einfacher das Microsoft-Tool DevCon zu benutzen und von Deinem Programm aus aufzurufen: http://support.microsoft.com/kb/311272
Hallo, Xenu schrieb: > Es wäre einfacher das Microsoft-Tool DevCon zu benutzen und von Deinem > Programm aus aufzurufen: > > http://support.microsoft.com/kb/311272 ;-) Danke, war grad dabei aus der HardwareHelpLib eine exe zu basteln die mir das machen würde. Werde aber trotzdem die DevCon nehmen, danke für den Tipp lg Stefan
Devcon erfordert allerdings Admin-Rechte für solche Sachen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.