[STM32F0] USB虚拟串口跑久了会卡死怎么排查?

[复制链接]
 楼主| 童雨竹 发表于 2025-6-10 07:23 | 显示全部楼层 |阅读模式
每次跑几个小时就卡住,上位机收不到数据。
Clyde011 发表于 2025-6-10 07:28 | 显示全部楼层
尝试用CubeMX重新生成USB代码一遍。
公羊子丹 发表于 2025-6-10 07:29 | 显示全部楼层
看一下是不是USB中断优先级冲突了。
周半梅 发表于 2025-6-10 07:30 | 显示全部楼层
连续发送太快的话,有可能缓冲区爆了。
帛灿灿 发表于 2025-6-10 07:30 | 显示全部楼层
我遇到是因为没及时清除发送完成标志位。
 楼主| 童雨竹 发表于 2025-6-10 07:31 | 显示全部楼层
ST官方的CDC例程其实也不太稳定。
万图 发表于 2025-6-10 07:32 | 显示全部楼层
可以加个watchdog防止主循环卡死。
Wordsworth 发表于 2025-6-10 07:33 | 显示全部楼层
看USB线材和供电也有影响。
Bblythe 发表于 2025-6-10 07:34 | 显示全部楼层
用PC端串口助手看是否握手丢失了。
Pulitzer 发表于 2025-6-10 07:34 | 显示全部楼层
可以试下每10秒重连一下USB端口。
Uriah 发表于 2025-6-10 07:35 | 显示全部楼层
用逻辑分析仪抓一下USB数据会比较直观。
dukedz 发表于 2025-6-10 11:25 | 显示全部楼层
之前遇到类似问题,我的stm32 usb死机调试记录:https://blog.d-l.io/stm32g0-hardfault-debug-cn
flycamelaaa 发表于 2025-6-10 15:13 | 显示全部楼层
用示波器监测一下电压。
elephant00 发表于 2025-6-10 15:21 | 显示全部楼层
检查动态内存分配是否释放。
powerantone 发表于 2025-6-10 15:56 | 显示全部楼层
检查电源是否稳定,必要时增加滤波电容或使用LDO稳压器。
stormwind123 发表于 2025-6-10 17:00 | 显示全部楼层
检查USB D+和D-信号线的阻抗匹配,避免信号反射。
probedog 发表于 2025-6-10 18:00 | 显示全部楼层
在代码中实现看门狗定时器如独立看门狗IWDG,定期复位系统以防止死锁。
jcky001 发表于 2025-6-10 19:36 | 显示全部楼层
检查USB发送缓冲区是否被正确清空,避免数据堆积。
cr315 发表于 2025-6-10 20:30 | 显示全部楼层
优化中断处理,用标志位或队列机制将数据从ISR传递到主循环处理。
cr315 发表于 2025-6-10 22:00 | 显示全部楼层
检查代码逻辑是否有误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

5860

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

155

主题

5860

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部