首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

对usb设备使用ReadFile存在的有关问题 不能返回数据

2012-02-02 
对usb设备使用ReadFile存在的问题不能返回数据对usb设备使用ReadFile存在的问题打开USB设备(2410),调用Rea

对usb设备使用ReadFile存在的问题 不能返回数据
对usb设备使用ReadFile存在的问题 

打开USB设备(2410),调用ReadFile读数据:

usb设备端写入128字节数据
.....
BYTE buf[256];
memset(buf, 0, 256);
DWORD dwRead;
ReadFile(hUSB, buf, 256, &dwRead, NULL);
.......

程序会一直阻塞不返回,而如果改成ReadFile(hUSB, buf, 128, &dwRead, NULL)就可以正常的返回数据。

我记得使用窗口读数据的时候,即使写入的数据没达到nNumberOfBytesToRead参数指定的值也是可以返回的。

不知道哪里出错了,请各位大侠帮帮忙!

[解决办法]
这个取决于具体USB设备,看看读写USB设备支持的帧长度是多少字节?
[解决办法]
这个主要取决于你的USB硬件。
如果USB硬件只有128byte的数据,而你读取的是256byte,再加上USB驱动程序没有设置超时返回机制,那么就会出现这种现象。
解决的方法有两个:
(1)让你的USB硬件产生>=256byte的数据
(2)修改驱动程序

热点排行