自定义USB设备通讯问题

硬件平台:STM32F407VGT6,USB从机设备

软件版本:HAL 1.3.0  USB 2.2.0

上位机:C#调用的Window USB库,USB主机  

问题描述:

    在和上位机通讯时,上位机发协议来获取数据,下位机答复多包数据,上位机接收时间太长,达到秒级别的接收延迟,一包数据为64字节,
  定位不出问题出在下位机还是上位机,有没有这方面经验的朋友指导下,谢谢

1、下位机HID描述符

blob.png

2、配置符

blob.pngblob.png

3、BusHond抓包看到的现象

blob.png

  0201是上位机发现来要数据的协议,02a0和02a1是下位机的回复,可以看到时间上,第一条回复很快,后面的回复稳定在1s左右。
 PS:下位机数据处理不花时间,就是简单的组合数据





已邀请:

popdes

赞同来自:

usb hid slave模式是被动模式,必须由主机发起从机才能发送数据,而不能从机主动发。
这个机制就意味着你要pc先发送读取,从机接收到读取指令,然后分析你要读取什么数据,然后整理数据并发送给pc,这样才完成一次操作。
看了你的需求,你要用usb的其他模式。

要回复问题请先登录注册