阅读:993回复:2
USB驱动开发问题:能否控制到协议包级别
在驱动设计中,会遇到因设备问题导致数据传送失败问题,此时需要复位后重发,但无法知道设备端已经接收了多少数据(数据有一定的格式),如果重建URB进行重发将导致设备端接收数据混乱,导致设备无法正常工作。
有没有方法获取到设备端已经接收到得数据个数的方法(比如:具体到协议包64BYTE),这样重发时可以避免重复发送已发送数据。 |
|
|
沙发#
发布于:2004-11-08 08:28
是否必须自己开发USBD层驱动才可以控制到协议包级别吗??
哪位高手有经验请指点一下,谢谢! |
|
|
板凳#
发布于:2004-11-16 10:07
自己解决了问题,与大家分享一下。
在调用CALLUSBD时,URB中包含了已传输数据的个数,即使本次带调用失败,也可以返回已传输数据的个数。因此不需要知道具体的协议包。在进行排错处理时可以重新进行后续数据的处理。 原来写驱动时没有注意到,原来很简单!! :D |
|
|