STM32
直播中

李秀兰

7年用户 1464经验值
私信 关注
[问答]

使用32CubeMX自动生成的CUSTOM USBHID STM32F407程序,无法接收电脑发送的数据是怎么回事?

按照网上教程使用32CubeMX自动生成的CUSTOM USBHID STM32F407程序,可以发送数据到电脑,但是无法接收电脑发送的数据,BUSHOUND显示invalid command,只有在主函数死循环中不断调用发送数据给电脑的情况下才能接收电脑发送的数据

回帖(1)

贾小龙

2024-4-16 16:48:56
有几个可能的原因导致无法接收电脑发送的数据:

1. USB HID自定义报告描述符错误:请确保在USB HID自定义报告描述符中正确定义了输入报告。比如报告的大小、使用的数据类型等等。

2. 缺少数据接收代码:查看生成的代码中是否包含处理接收数据的代码。要接收来自电脑的数据,需要在USB中断处理程序中添加相应的代码来处理接收缓冲区。

3. 数据传输问题:检查传输方向是否正确设置。在USB HID中,发送和接收数据分别使用不同的端点。确保端点方向正确设置,并且在发送和接收数据时使用正确的端点。

4. 电脑端问题:确保电脑端的驱动程序正确安装并且可以正常识别USB HID设备。可以尝试在其他电脑上测试,看是否能够正常收发数据。

5. 其他问题:如果上述方法都无效,可能存在其他问题,比如硬件连接问题、USB引脚的配置错误等。请仔细检查硬件连接和配置,并确保按照STM32F407的参考手册正确配置USB功能。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分