完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
今天用STM32CUBEMX 生成USB 的 custom human interface device 模式。
根据网上的教程,很容易地与上位机通信。 我用BUS HOUND 抓数据时,发现每个包都是2byte。 但是项目需要传输多位,我以为修改 USBD_CUSTOM_HID_SendReport( hUsbDeviceFS,sendbuffer , 2 ); 后面的2 就可以改变每个包数据位数,但是抓包发现数据 被拆分成多个 2 byte 的包。 我上位机显示HID 是 2 byte。 第二行 input report byte length 2
|
|
相关推荐
1个回答
|
|
要修改STM32 USB的输入报告字节长度,您需要按照以下步骤操作:
1. 修改HID报告描述符: 您需要在HID报告描述符中指定所需的输入报告字节长度。报告描述符是一个定义HID设备功能的数据结构。在您的项目中,报告描述符可能已经定义为2个字节。您需要将其修改为所需的字节长度。 2. 修改USBD_CUSTOM_HID_SendReport函数调用: 您已经尝试通过修改USBD_CUSTOM_HID_SendReport函数调用中的字节长度参数来更改数据包大小。这是正确的方法,但请确保您的HID报告描述符也支持所需的字节长度。 3. 更新上位机软件: 如果您的上位机软件是基于HID报告描述符来确定输入报告字节长度的,那么在修改报告描述符后,上位机软件应该能够识别新的字节长度。确保您的上位机软件能够正确处理新的数据包大小。 4. 重新编译和测试: 在进行了上述修改后,重新编译您的STM32项目,并使用BUS HOUND等工具测试新的数据包大小。确保数据包没有被拆分成多个2字节的包。 5. 检查USBD_CUSTOM_HID_ReportDesc_FS数组: 在您的项目中,有一个名为CUSTOM_HID_ReportDesc_FS的数组,它包含了HID报告描述符。确保这个数组正确地定义了所需的输入报告字节长度。 以下是一些可能需要修改的代码段: ```c // 修改HID报告描述符中的输入报告字节长度 // 例如,将长度从2字节更改为4字节 uint8_t CUSTOM_HID_ReportDesc_FS[] = { 0x06, 0x00, 0xFF, // ... 0x09, 0x22, // Usage (Input Report Length) 0x15, 0x80, // Logical Minimum (-128) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data, Variable, Absolute) // ... }; // 修改USBD_CUSTOM_HID_SendReport函数调用中的字节长度参数 void USBD_CUSTOM_HID_SendReport(USBD_HandleTypeDef *pdev, uint8_t *report_buff, uint16_t len) { // ... // 确保len的值与HID报告描述符中的输入报告字节长度一致 USBD_CUSTOM_HID_ReceivePacket(&hUsbDeviceFS, report_buff, len); // ... } ``` 通过以上步骤,您应该能够成功地修改STM32 USB的输入报告字节长度。如果仍然遇到问题,请检查您的HID报告描述符和上位机软件,确保它们都支持所需的字节长度。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1804 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1629 浏览 1 评论
1097 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
736 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1686 浏览 2 评论
1944浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
748浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
582浏览 3评论
604浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
565浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 20:16 , Processed in 0.823087 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号