[STM32F0] 无法在没有USB连接的情况下运行代码。

[复制链接]
 楼主| 封存into 发表于 2025-7-31 09:34 | 显示全部楼层 |阅读模式
用STM32cubeIDE写了一个简单的代码来读取引脚状态,并在检测到按钮按下时点亮LED。调试时一切正常。但问题是当我拔掉USB连接(开发板通过电源供电)后,代码突然停止运行,按下按钮后LED也不会亮。
不知道哪里搞错了?

公羊子丹 发表于 2025-7-31 13:15 | 显示全部楼层
你是不是用的ST-LINK供电+调试?拔掉USB可能板子没复位,也没跳转到用户代码。
周半梅 发表于 2025-7-31 13:16 | 显示全部楼层
看下你选的启动选项,是不是 BOOT0 引脚没接地,导致断电后进不了主程序。
帛灿灿 发表于 2025-7-31 13:17 | 显示全部楼层
你烧录的时候用的是“Run”还是“Debug”?Debug模式下断电就不会运行了。
童雨竹 发表于 2025-7-31 13:18 | 显示全部楼层
建议你用“STM32CubeProgrammer”手动烧录一下,看掉电重启后能不能自己跑。
万图 发表于 2025-7-31 13:18 | 显示全部楼层
可能你用了某些初始化只在debug下有效,比如时钟没配置对也会这样。
Wordsworth 发表于 2025-7-31 13:19 | 显示全部楼层
还有个坑别忘了——看下是不是用了 printf 或 USB CDC 之类的东西卡住了主循环。
Bblythe 发表于 2025-7-31 13:20 | 显示全部楼层
有时候是启动文件不对,CubeIDE默认 Debug 模式带某些初始化,Release 可能不完整。
Pulitzer 发表于 2025-7-31 13:21 | 显示全部楼层
看下 LD 脚和RESET是不是悬空了,有些板子断电后要按一下 RESET 才跑程序。
Uriah 发表于 2025-7-31 13:21 | 显示全部楼层
你可以试试编译成 Release 模式,然后用ST-LINK Utility烧进去再测试下。
Clyde011 发表于 2025-7-31 13:22 | 显示全部楼层
我之前遇到过类似的,最后是因为Flash没正确设置为启动区段,改下Option Bytes搞定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

110

帖子

0

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

52

主题

110

帖子

0

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