STM32L476RE HID键盘模拟按键慢及丢字问题求助
STM32L476RE HID键盘高速传输优化问题
问题描述
已基于STM32L476RE实现HID键盘功能,可正常发送按键指令,但传输速度无法满足需求。尝试通过USBD_HID_SendReport发送自定义大尺寸HID报告payload后,速度有所提升,但出现以下问题:
- 手动构建HID报告数组流程繁琐,易出错
- 实际输出存在大量字符丢失(重复字符尤为明显)、部分字符输入错误的情况,尽管调试显示报告数据格式正确。
当前实现细节
自定义HID报告数组
uint8_t final[56] = { 0x00, 0x00, 0x0C, 0x16, 0x12, 0x1E, 0x22, 0x23, 0x00, 0x00, 0x26, 0x20, 0x2D, 0x19, 0x2C, 0x17, 0x00, 0x00, 0x04, 0x0A, 0x2D, 0x2C, 0x26, 0x25, 0x00, 0x00, 0x2C, 0x09, 0x24, 0x2C, 0x1E, 0x04, 0x00, 0x00, 0x2C, 0x27, 0x04, 0x2C, 0x27, 0x25, 0x00, 0x00, 0x2C, 0x27, 0x1E, 0x2C, 0x27, 0x21, 0x00, 0x00, 0x2C, 0x08, 0x27, 0x0D, 0x28, 0x00 };
发送执行代码
USBD_HID_SendReport(&hUsbDeviceFS, &final, 56); HAL_Delay(150); memset(&final, 0x00, 56); USBD_HID_SendReport(&hUsbDeviceFS, &final, 56); HAL_Delay(150);
求助方向
需要更优的实现方案,解决字符丢失/输入错误问题,同时简化HID报告数组的构建工作。
内容的提问来源于stack exchange,提问作者Hako
相关产品推荐
相关产品推荐

