Hi 董雄铧 ,
>>” 但是接收小于1024个字节的数据又不能收到到,比如16个字节的数据,一次发送过来,是无法收到这样的数据 ”
据我知道的。USB有以下几种传输模式。
1. Bulk Transfer
2. Interrupt Transfer
3. Isochronous Transfer
4. Control Transfer
在interrupt transfer 模式下面是支持8, 16, 32, 64字节传输在full speed模式下面, 512字节是在high speed模式下面。所以说USB是支持16字节的数据。
可能是你的USB驱动没有支持这样功能,你可能需要改写驱动。
如果你使用的是windows平台驱动,client驱动最少会有以下功能。
1. 得到transfer的buffer
2. 发送一个framework 的请求到USB驱动栈
3. 实现一个完整的路径为了得到通知,当USB驱动得到完整的请求
这儿有一个bulk transfer 请求的example. 当framework发送请求到client驱动,将会接收下面3个参数。
1. WDFQUEUE 是管理framework请求队列
2. WDFREQUEST每个请求的队列
3. Transfer length的长度, 这个应该是可以支持16字节的。
关于更详细的内容看MSDN 文档的记载。
Best Regards,
Hart
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints
to MSDN Support, feel free to contact MSDNFSF@microsoft.com.