3772|1

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

我这个USB设备应该如何读写呢?(HID类型,中断传输)分不是问题!谢谢大家 [复制链接]

我的一个数据采集设备,通过USB连接,但硬件部分的信息不太清楚,只知道是HID设备,而且是中断方式传输!首先通过API函数获取了设备的Path为:
\\?\hid#vid_1267&pid_5aa5&mi_00#72fab1c51&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
然后用下面这个CreateFile函数打开
deviceHandle = CreateFile (deviceDetail->DevicePath,
                               GENERIC_READ | GENERIC_WRITE,
                               FILE_SHARE_READ | FILE_SHARE_WRITE,
                               NULL,        // no SECURITY_ATTRIBUTES structure
                               OPEN_EXISTING, // No special create flags
                               0,
                               NULL);       // No template file
正常返回,没有问题,可以返回有效句柄!然后我就开始WriteFile,想写一个数先看看能否成功,如下:
char bufer[4]={0x13,0x00,0x00,0x00};//随便定义了一个64位的数,不知道这样对不对
unsigned long num=64;
BOOL flag = WriteFile(deviceHandle, &bufer, num, &num, NULL);
DWORD err = GetLastError();
结果err为87.
请大家指教,哪里错误了呢?
另外,用bushound抓取一些数据包发现,开始采集数据之后,先是一个DO,然后几个DI.好像就是先发给usb一个数据包,表明中断,然后开始读取数据,隔100ms左右再次DO(发送给usb一个数据包),再读一些数据(DI)
先WriteFile模拟DO过程?然后ReadFile模拟DI过程.我这样的理解正确么?
还有就是,我看到有的帖子中说,还要加什么pipe名称,我这里用加么?硬件部分的信息不太清楚,不知道怎样才能获得Pipe名称!我便直接CreateFile上面那个设备路径了,虽然返回的handle有效,但不知问题出在哪里!

最新回复

我也碰到相同 的问题。。。。。 等待高手帮忙解决。。。。。   详情 回复 发表于 2009-10-21 19:15
点赞 关注

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我也碰到相同 的问题。。。。。
等待高手帮忙解决。。。。。
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表