2013-07-31 42 views
2

我在Windows 8上執行我的程序時出現問題;我使用ReadFile從RS232串口檢索數據。ReadFile Rs232太慢

,因爲在OS多年我的代碼工作從Windows XP到Win 7的沒有任何問題,但現在的ReadFile opertion 94和100毫秒之間總是帶着,而這是非常快的或立刻先例OS:

我有嘗試修改我的超時強制1ms的,但它始終是相同的結果:

GetCommTimeouts(Handle, &cto); 
cto.ReadIntervalTimeout=MAXDWORD; 
cto.ReadTotalTimeoutMultiplier=0; 
cto.ReadTotalTimeoutConstant=0; 
cto.WriteTotalTimeoutMultiplier=0; 
cto.WriteTotalTimeoutConstant=0; 
if(SetCommTimeouts(Handle, &cto) == 0) 

// And the read function : 
rOL.Offset = 0; 
rOL.OffsetHigh = 0; 
if (ReadFile(Handle, &byte, 1, &i, &rOL) == TRUE) 

讀了很多崗位和所有MSDN後,我沒有找到任何解決方案!

+2

你毫無疑問有串口驅動程序有問題,附帶USB仿真器的那些總是麻煩。特別是在較新的操作系統上。如果您無法獲得驅動程序更新,那麼只需將模擬器丟掉,然後從另一個製造商那裏獲取另一個。 –

+0

感謝您的回覆,我已經使用供應商網站上的最新版本更新了我的驅動程序:http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41,我做了其他一些事情,如禁用通用集線器USB驅動器的電源管理,但我仍然遇到問題!我會嘗試另一個適配器。 – Maypeur

回答

1

我發現並糾正了我的問題,這要感謝Hans Passant,這表明我是正確的!

所以這是一個驅動程序問題,最大的問題是,最新的驅動程序多產特製的Windows 8和7和現有的Windows Update和catalog.update.microsoft.com是馬車:

所以我降級到2010/12/03版本,現在它完美運行。

我做了一個程序,你可以在這個zip找到工作的驅動程序:

http://www.soft-control.com/media/exe_soft/sav/ProlificDowngrade.3.11.zip

我希望這將有助於其他人通過這個問題涉及誰!