打印

GD32F105RB 使用官方USB例程,运行至枚举状态机时进入死循环

[复制链接]
楼主: 凌不野
手机看帖
扫描二维码
随时随地手机跟帖
21
gygp| | 2025-4-10 18:08 | 只看该作者 回帖奖励 |倒序浏览
如果堆栈溢出,可能会导致程序异常行为,包括死循环

使用特权

评论回复
22
wwppd| | 2025-4-10 21:18 | 只看该作者
地址配置逻辑错误              

使用特权

评论回复
23
averyleigh| | 2025-4-10 22:51 | 只看该作者
参考官方提供的USB例程和示例代码,确保自己的实现与官方推荐的做法一致。

使用特权

评论回复
24
uytyu| | 2025-4-12 20:12 | 只看该作者
USB通信依赖于稳定的时钟信号,如果时钟配置错误或不稳定,可能会导致通信失败。

使用特权

评论回复
25
alvpeg| | 2025-4-13 13:13 | 只看该作者
检查堆栈大小配置,确保有足够的内存供 USB 模块使用。

使用特权

评论回复
26
10299823| | 2025-4-13 15:16 | 只看该作者
在USB中断处理函数中正确清除中断标志位。如果中断标志位没有被清除,可能会导致中断反复进入,从而造成死循环

使用特权

评论回复
27
everyrobin| | 2025-4-13 15:53 | 只看该作者
语言ID和制造商字符串需正确编码,避免乱码导致解析失败。

使用特权

评论回复
28
rosemoore| | 2025-4-13 16:33 | 只看该作者
检查 USB 硬件连接,确保 D+、D- 引脚正确连接,VBUS 电源正常提供。

使用特权

评论回复
29
modesty3jonah| | 2025-4-13 17:33 | 只看该作者
在枚举状态机的关键位置添加调试信息,如打印日志、设置断点等,以便观察程序的执行流程和变量的值,找出问题所在。

使用特权

评论回复
30
mollylawrence| | 2025-4-13 21:02 | 只看该作者
合理设置中断优先级,避免中断被其他高优先级中断抢占。

使用特权

评论回复
31
tifmill| | 2025-4-14 08:01 | 只看该作者
检查usb_device_descriptor中的VID、PID是否与官方例程一致,且长度字段正确。

使用特权

评论回复
32
星辰伴梦| | 2025-4-19 14:05 | 只看该作者
看起来像是USB时钟配置的问题。你已经将外部晶振改为8M,并且主频打印为96M,但是USB时钟源没有相应修改。请检查你的USB时钟配置是否正确,确保USB时钟源与主频相匹配。

使用特权

评论回复
33
单芯多芯| | 2025-4-21 20:12 | 只看该作者
时钟不稳定可能导致系统运行不稳定。检查晶振或时钟电路。

使用特权

评论回复
34
LinkMe| | 2025-4-22 19:48 | 只看该作者
USB分析仪能抓取USB数据,检查枚举阶段数据包

使用特权

评论回复
35
物联万物互联| | 2025-4-24 23:30 | 只看该作者
升级单片机固件或选择兼容的USBH库版本。

使用特权

评论回复
36
理想阳| | 2025-5-12 16:13 | 只看该作者
仔细看描述符,确保中断触发条件正确,中断服务程序逻辑清晰。

使用特权

评论回复
37
zephyr9| | 2025-5-14 07:19 | 只看该作者
检查USB中断设置和状态机流程,确保正确配置。

使用特权

评论回复
38
流星flash| | 2025-5-16 07:46 | 只看该作者
USB设备得先告诉主机它是啥,然后才能连接上。

使用特权

评论回复
39
PreWorld| | 2025-5-18 18:54 | 只看该作者
先确认USB接口正常,然后逐个试不同主机,看是否兼容。

使用特权

评论回复
40
不想打补丁| | 2025-5-20 14:25 | 只看该作者
中断优先级要调对,否则处理慢或丢信号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则