STM32 开发报错no target connected 解决方案(详细教程)
前言
在使用vs code+STM32CubeMX 开发stm32最小系统板时下载程序报错,无法上传程序,再使用keil5开发时 发现板子已无法被链接 无法被识别校验,尝试很多办法无法解决,本人连着三块板子变砖,最后将芯片擦除才解决了问题,挽回损失。
一、问题描述
当时是在vs code环境下开发,使用的是stm32f103c8t6板子,但是在前期使用STM32CubeMX配置时眼花错选了其他芯片的配置文件,随后在vscode上传一次程序后,板子不能再被keil5,vscode识别,开始报错,无法上传程序。故障如图所示。
vscode
keil5
二、报错原因
芯片烧录了错误的配置文件,与程序不兼容(当然有一部分型号可能是互相兼容的,烧录不会引起此问题),导致相关寄存器被篡改。
三、解决方法
使用 stm32 ST-LINK Utility对芯片进行擦除。
1、下载并安装stm32 ST-LINK Utility
下载绑定资源或者访问百度网盘进行下载
百度网盘; 点击这里跳转下载https://pan.baidu.com/s/1fzU0q44LakjVwr_vpR7doQ?pwd=vet7%20%E6%8F%90%E5%8F%96%E7%A0%81:%20vet7
2、打开stm32 ST-LINK Utility 并使用STlink将单片机连接电脑
连接时长按RESET键不松,然后单击 软件中的connect to the target,点击后1~2秒松开单片机上的RESET键,出现如图所示则连接成功(没有成功就多试几次)。
3、擦除存储
单击 full chip erase 出现如图所示情况及成功
4.检查开发板是否恢复正常
打开keil5 查看芯片能否被识别
如图芯片成功被识别
上传配置文件确的程序 检查芯片是否恢复正常
vscode
keil5
至此 我们的问题完美解决, 快去撸码吧!!!
作者:Dinosaur_001