USB读方式的疑问?

panwen516 2011-11-30 04:39:50
使用DriverStudio3.2开发USB驱动
硬件有两个端口,一个读,一个写
上位机,有线程一直 ReadFile函数,这样存在一个问题,如果硬件没有数据需要传给上位机,那么USB一直为没有应答,ReadFile函数不能返回。而且如果想关闭进程也不行,必须拔除USB设备才行。
根据USB协议为主从式,所有命令都是由上位机发送(读,写动作),所以我们使用线程一直读。能不能做到像Socket样,从机有数据过来就触发上位机以事件通知,那么上位机直接调用ReadFile,而不是用线程一直读呢?
...全文
50 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leenpu 2011-12-06
  • 打赏
  • 举报
回复
1.可以尝试修改下位机的USB回复,当有硬件有数据时,给一个回复的关键字,没有数据时回复使用另外一个关键字,不要让readfile一直等待回复内容。

2.下位机的USB事件上报也是有的,这个事件上报是通知上位机来取数据,但是这个是需要使用到中断端点(你只有读写的端点)和控制端点,这就意味着你的硬件中的端点是不够的。
panwen516 2011-12-01
  • 打赏
  • 举报
回复
我们用的是批量传输,公司的竞争对手用的也是此传输模式
tianxiaolin 2011-12-01
  • 打赏
  • 举报
回复
USB驱动 数据传输方式有4种,控制,同步,批量,中断,结合你的芯片看一下那种合适。
panwen516 2011-11-30
  • 打赏
  • 举报
回复
自己给自己顶一下

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧