紧急求问:usb设备的读写管道操作必须要互斥处理吗?

jbstorm 2013-04-24 11:09:58
如题,在搞一个usb设备的驱动,该设备除0端点外,还有两个读写用的端点,分别是bulk in 与bulk out,现在要对这两个端点所对应的管道进行读写,我看wince的样例驱动中,对于管道的读写是用EnterCriticalSection与LeaveCriticalSection来互斥进行的,所以我的驱动中也进行了互斥处理,能够正常读写,但是现在我想把它改成不互斥读写,也就是去掉EnterCriticalSection与LeaveCriticalSection,结果读写数据时就出错了,出错代码为:USB_DEVICE_NOT_RESPONDING_ERROR或者USB_CANCELED_ERROR,所以我想问的是,是不是同一个usb设备的读写管道操作必须要互斥处理啊?请高手帮忙回答一下,谢谢了。。
...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jbstorm 2013-04-26
  • 打赏
  • 举报
回复
这个要怎么改呢?代码我检查过了,在读/写操作的两个线程中,并没有对同一数据的操作处理,应该不会有冲突吧?除非是在系统底层的代码中有对相同数据的操作。。大家有谁遇到过类似问题的,请指教一下吧,谢谢了。。
91program 2013-04-25
  • 打赏
  • 举报
回复
如果要修改为不互斥,代码也要修改吧,不是简单的去掉互斥操作就行的。

19,500

社区成员

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

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