STM32F103,为什么windows下USB的hid收发通信,如果不足64B,windows会自动在后面填0补齐,能否不自动填0?

时间:2021-03-04 22:27:00
STM32F103,为什么windows下USB的hid收发通信,如果不足64B,windows会自动在后面填0补齐,能否不自动填0?

2 个解决方案

#1


LZ,这你能不能先确定是发的问题,还是收的问题?

#2


HID 收发的是 Report,它的长度是固定的,是通过枚举时设备的 Report 描述符确定的。也就是说,它的收发单元是固定长度。

无论是主机,还是设备,在发送时都要将数据填充为 Report 的长度。因为接收端是按此固定长度接收的。一般是填充 0,也可以填充其他值,要看应用协议的规定。

你的设备,报表长度恰好是 64 字节。

#1


LZ,这你能不能先确定是发的问题,还是收的问题?

#2


HID 收发的是 Report,它的长度是固定的,是通过枚举时设备的 Report 描述符确定的。也就是说,它的收发单元是固定长度。

无论是主机,还是设备,在发送时都要将数据填充为 Report 的长度。因为接收端是按此固定长度接收的。一般是填充 0,也可以填充其他值,要看应用协议的规定。

你的设备,报表长度恰好是 64 字节。