ReadFile Rs232 Too Slow

ReadFile Rs232 Too Slow

本文关键字:Slow Too Rs232 ReadFile      更新时间:2023-10-16

我在Windows 8上执行程序时遇到问题;我使用ReadFile从RS232串行端口检索数据。

我的代码在从windows Xp到Win 7的操作系统上运行了很多年,没有任何问题,但现在ReadFile操作总是在94到100ms之间,而在以前的操作系统上运行速度很快或很快

我试着修改我的超时以强制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之后,我找不到任何解决方案!

我发现并纠正了我的问题,感谢Hans Passant,他为我指明了正确的方法!

所以这是一个驱动程序问题,最大的问题是专门为Windows 8和7制作的最新Prolific驱动程序在Windows Update和catalog.Update.microsoft.com上有缺陷:

所以我降级到2010/12/03版本,现在它运行得很好。

我做了一个程序,你可以在这个zip中找到工作驱动程序:

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

我希望它能帮助到其他关心这个问题的人!

过一段时间,这里是32位驱动程序(只有x86驱动程序包含在先前的zip中)。

扩展驱动程序x86 3.3.11.152:

http://www.allendatagraph.com/techsupport/usb/SetupBafoDriverWindow.exe