STM32F103C6T6经ST-Link上传程序成功后无法执行闪烁程序求助
上传成功日志
草图占用12780字节(19%)的程序存储空间,最大为65536字节。全局变量占用2064字节(10%)的动态内存,剩余18416字节供局部变量使用,最大为20480字节。
STM32 ST-LINK CLI v3.3.0.0
STM32 ST-LINK命令行界面ST-LINK序列号:600016001600004C4732504E
ST-LINK固件版本:V2J37S7(需更新)
通过SWD连接。
SWD频率=4000K。
目标电压=3.3 V
连接模式:正常
复位模式:软件复位
设备ID:0x412
设备闪存容量:32 Kbytes
设备系列:STM32F10xx Low-density加载文件...
闪存编程:
文件:C:\Users\USER\AppData\Local\Temp\arduino-sketch-55F6CCE1139B53A90BB0EB4482B23E16\Blink.ino.bin
地址:0x08000000
内存编程...
�������������������������������������������������� 0%
0%������ 12%������ 24%������ 36%������ 48%������ 60%������ 72%������ 84%������ 96%�� 100%
内存编程耗时1秒750毫秒。
编程完成。MCU复位。
应用启动。
排查步骤
确认LED引脚配置匹配
STM32F103C6T6核心板的内置LED引脚无统一标准,常见为PC13,也有部分厂家使用PA13或其他引脚。检查你的Blink代码中引脚定义是否与板子实际一致:// 示例PC13引脚的闪烁代码 #define LED_PIN PC13 void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); }若不确定引脚,可查看开发板原理图或用万用表测量引脚电平变化。
切换ST-Link复位模式
日志显示当前使用软件复位,部分核心板需切换为硬件复位才能正常启动程序。在Arduino IDE的STM32配置选项中找到复位模式,修改后重新上传程序。检查供电稳定性
尝试用独立USB电源给开发板供电(而非仅依赖ST-Link的3.3V输出),排除因功率不足导致LED无法工作的可能。手动触发硬件复位
程序上传完成后,按下开发板的复位按钮,部分场景下软件复位无法正确唤醒程序。更新ST-Link固件(可选)
日志提示固件需更新,虽然不直接影响编程,但更新到最新版本可解决部分兼容性问题,可通过ST官方的ST-Link Utility工具完成更新。
内容的提问来源于stack exchange,提问作者omarakl

