使用STM32CubeMX配置工程,烧录时出现No target connected(没有目标连接)的错误解决办法

目录

    

一、解决方法:

二、错误原因:


在Keil5使用ST-link烧录重新到STM32时出现如图错误解决方法:679d4c4273d1448eadf658581557fd46.png

    

         网上看到的方法很多都是按住复位键不动,然后在点击下载的同时快速松开单片机复位键,这就要考验我们的手速了,虽然这样也行,不过这样并不能解决根本问题,因为产生这个错误的原因很可能是在用STM32CubeMX构建工程时没有在systemcore中将SYS里的NO Debug更改。

如图所示

e23d29fa5d8643eda6f394e21356d56d.png

一、解决方法:

  1、 首先要打开STM32CubeMX,然后找到SYS,NO Debug修改为SerialWirel

fffdf17fb5384167b3d0771227a6e545.png

          2、这个时候如果你马上编译下载,你会发现还是会出现No target connected(没有目标连接)的错误,这个时候我们就需要用到之前的操作了, 先按住复位键不动,然后在点击下载的同时快速松开单片机复位键,这样就能把修改之后的工程下载进去了,然后下载功能不用按住复位键也能正常使用了

6862b1e433a34da4b38dba53a9be5a03.png

二、错误原因:

       SYS的功能是配置STM32的时钟模式,如果Debug配置的是NO Debug,则表示不需要调试的意思,这样的话系统的时钟将不会分配给调试端口,相当于使SWCLK和SWD两个烧录用的引脚失能,这样的话下一次烧录时电脑就无法检测到单片机,从而出现No target connected(没有目标连接)的错误。

       那么为什么通过按复位键就可以重新下载呢?我查了一下手册

        也就是说复位期间全部的引脚被配置成浮空输入模式,所以SWCLK和SWD两个烧录用的引脚也会被使能,但这也只能保持一段时间,所以我们要在点击下载的同时快速松开单片机复位键,这样才能烧录进去。

猜你喜欢

转载自blog.csdn.net/wcl501375/article/details/127715264