[USB编程] 求教如何及时判别读取HID设备有数据传入,只能循环ReadFile吗?

[复制链接]
 楼主| sxslyy 发表于 2013-11-27 16:12 | 显示全部楼层 |阅读模式
1.当下位机(HID设备)以很快的速度上传数据,上位机如何能很快及时的读取,有什么方法能保证不读丢数据。是循环ReadFile吗?有没有测试出现数据的方法,如某个函数或某种方法可以实现!
2.如只能循环ReadFile,一般下位机多少MS上传一次!才能基本确保数据不丢失呢!即最小的上传间隔是多少?
yang4469 发表于 2013-12-5 11:52 | 显示全部楼层
这么高的分居然无人问津
楼主可以参考下st的usb
http://bbs.21ic.com/forum.php?mod=viewthread&tid=583006
li880wert 发表于 2013-12-6 17:22 | 显示全部楼层
楼主会不开个线程,一直监测数据吗,你stm32 72M的速率有 上位机 双核 2G的速率快吗
john_lee 发表于 2013-12-9 10:41 | 显示全部楼层
开工作线程以阻塞方式ReadFile,读到了数据可以发个消息通知主线程处理。
xinghun0813 发表于 2013-12-11 10:53 | 显示全部楼层
下位机多少毫秒传输一次数据,是下位机配置决定的。一般是毫秒级的,上位机开个线程去读肯定来的及的。
 楼主| sxslyy 发表于 2013-12-13 09:27 | 显示全部楼层
版主:阻塞方式会不会,可能引起线程阻死。我现在用的是异步方式!然后等超时!等5秒,大多时会读正常!但通讯过程中,总会有Readfile超时的情况!不定期的出现!下位机最多几十毫秒就上传数据了(从Bus Hound上看,DI 已经送上数据了,也就是说数据已放到了HID驱动的缓存区了)!!为什么上位机5秒还会读超时,是因为异步方式,Readfile是用I/O重叠,系统没能从缓冲区上及时读出数据吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

11

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部