STM32 USB HID 为什么能收发65字节
我在做一个USB HID设备,端点1作为发送和接收,最大长度都设置为64,但是在监视软件上却能看到65字节。而且STM在发完IN数据后就进入错误中断HardFaultException。这是什么原因啊?为什么OUT 和IN的数据会发两次,第二次多一个00?
这个得看程序吧。你给的信息太有限了
有没有发现,你的两组OUT和两组IN,有个相同的现象。
第二次的OUT开头多了一个字节00,所有数据向后错位了一个字节。
设备号不同,一个是55,一个是54.1 toofree 发表于 2018-11-29 12:39
这个得看程序吧。你给的信息太有限了
有没有发现,你的两组OUT和两组IN,有个相同的现象。
第二次的OUT开头 ...
谢谢,发现了。就是看到数据是65个字节的有点奇怪。。。 你那55应该是54的子层级设备。55的多1个字节应该是USBHID默认值为0的报告ID。这个估计是上层软件驱动自己加的。54.1后面的1是端点1发送的实际数据 流水源 发表于 2018-11-29 14:20
你那55应该是54的子层级设备。55的多1个字节应该是USBHID默认值为0的报告ID。这个估计是上层软件驱动自己加 ...
谢谢 原来是这样。看来我的硬件错误是别的原因造成的。执行SetEPTxStatus(ENDP1, EP_TX_VALID);发送后就死机了。。。
硬件错误很可能是你的USB发送缓冲区配置不对,导致内存溢出造成的 流水源 发表于 2018-11-29 14:59
硬件错误很可能是你的USB发送缓冲区配置不对,导致内存溢出造成的
我再看看 驱动不对,再详细检查下。 jyl518-283289 发表于 2018-11-29 16:59
驱动不对,再详细检查下。
:handshake 是65字节啊,有个叫report id
页:
[1]