众哲之师 发表于 2023-11-27 14:13:17

USB HID 收发数据包长度不同应如何设置

STC USB HID 的例程中,收发数据的默认长度为 64 bytes,见下图:


在 STM32 中,则可以收和发可以设置不同的数值,见下图:


请问,在 STC32G 中应如何实现 收发数据长度不同的功能呢?
谢谢!

gentleman 发表于 2023-11-27 16:15:45

数据长 就分包

数据短 就填0
我是这么干的{:4_165:}

众哲之师 发表于 2023-11-27 16:51:08

gentleman 发表于 2023-11-27 16:15
数据长 就分包

数据短 就填0


倒也没有数据太长的情况(>64)
只是由于协议的收发长度是固定的但两者不同
所以想着写死,这样应该可以节省收发的时间

JackLaw666 发表于 2023-11-29 16:11:34

向高手学习{:4_196:}

hsrzq 发表于 2023-12-7 11:01:11

本帖最后由 hsrzq 于 2023-12-7 11:04 编辑

重点是这个,限制了数据是固定长度0x81,0x02, // INPUT(Data,Variable);
0x91,0x02, // OUTPUT(Data,Variable);
换成下面的数据就可以是变长的了0x81,0x00, // INPUT(Data, Array);
0x91,0x00, // OUTPUT(Data, Array);
其实就是个描述符的事。

众哲之师 发表于 2023-12-7 18:05:55

hsrzq 发表于 2023-12-7 11:01
重点是这个,限制了数据是固定长度
换成下面的数据就可以是变长的了
其实就是个描述符的事。 ...

好的,谢谢指教!

鼎银电子 发表于 2024-7-17 16:57:48

hsrzq 发表于 2023-12-7 11:01
重点是这个,限制了数据是固定长度
换成下面的数据就可以是变长的了
其实就是个描述符的事。 ...

老师,这个描述符我在 STC8H8K64U样例上修改,没有起作用

鼎银电子 发表于 2024-7-17 16:59:30

hsrzq 发表于 2023-12-7 11:01
重点是这个,限制了数据是固定长度
换成下面的数据就可以是变长的了
其实就是个描述符的事。 ...

我是用V6.94E的终端输入输出测试的

hsrzq 发表于 2024-7-17 17:05:08

鼎银电子 发表于 2024-7-17 16:57
老师,这个描述符我在 STC8H8K64U样例上修改,没有起作用

什么叫不起作用?这个描述符修改了之后,对应的收发程序也需要需要改,包括PC端的和MCU端的。

hsrzq 发表于 2024-7-17 17:15:49

鼎银电子 发表于 2024-7-17 16:57
老师,这个描述符我在 STC8H8K64U样例上修改,没有起作用

https://www.usbzh.com/article/detail-525.html
https://www.usbzh.com/article/detail-527.html
给你两个USB HID描述符较详细的说明,你对照着看看
页: [1] 2
查看完整版本: USB HID 收发数据包长度不同应如何设置