[英]ReadFile Rs232 Too Slow
我在Windows 8上執行程序時遇到問題; 我使用ReadFile從RS232串行端口檢索數據。
我的代碼在從Windows Xp到Win 7的操作系統上運行了很多年,沒有任何問題,但是現在ReadFile操作始終花費94到100毫秒,而在以前的操作系統上運行速度非常快或立即:
我嘗試修改超時以強制1毫秒,但結果始終相同:
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之后,我沒有找到任何解決方案!
我發現並糾正了我的問題,這要歸功於Hans Passant,它向我指出了正確的方法!
因此,這是一個驅動程序問題,最大的問題是專門為Windows 8和7制作並在Windows Update和catalog.update.microsoft.com上可用的最新Prolific驅動程序存在問題:
所以我降級為2010/12/03版本,現在可以正常使用了。
我做了一個過程,您可以在此zip中找到工作的驅動程序:
http://www.soft-control.com/media/exe_soft/sav/ProlificDowngrade.3.11.zip
希望對任何關心此問題的人有所幫助!
稍后,這是32位驅動程序(先前的zip中僅包含x86驅動程序)。
多產的驅動程序x86 3.3.11.152:
http://www.allendatagraph.com/techsupport/usb/SetupBafoDriverWindow.exe
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.