关于STM32烧录时出现No target connected问题的解决方法

关于STM32烧录时出现No target connected问题的解决方法
一、问题描述
开发板型号:STM32F103C8T6
IDE: Keil5
仿真器:ST-LINK/V2(使用用SWJ调试)
出现问题:烧录程序时,出现No target connected的提示,具体如下图所示:
在这里插入图片描述
在这里插入图片描述

二、问题分析及解决办法
 出现这种问题有两种可能:

1.最简单的情况:SWJ接口连线出现问题
 你SWJ调试的4根线接错了或接触不良,电源线、GND、SWCLK、SWIO这四根线要按顺序对应的相接。如果你反复检查,确保线序正确,接触良好后还是出现No target connected的错误,那么你可能就是第二种情况。

2.情况:SWJ功能在代码中被关闭了
 这种情况的特点往往是:之前烧录都好好的,某次烧录后突然就不行。并且当你一直按着开发板的reset键时,你会发现又能识别设备了(根据这个现象,网上有给出先按住reset键,在点烧录按钮后立刻松开reset的笨办法,这个方法看手速和人品,有概率解决)。
在这里插入图片描述

出现这种情况的原因是,你烧录的代码里把芯片的SWJ调试功能给屏蔽了。这部分的代码在stm32f1xx_hal_msp.c这个文件的HAL_MspInit()函数里,
如图:正是__HAL_AFIO_REMAP_SWJ_DISABLE()这个函数把SWJ调试功能屏蔽了,所以你连接swj没反应。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0a48d67345c24416b3117fcbfc6f30a6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yav5Yek6Ziz,size_20,color_FFFFFF,t_70,g_se,x_16
在这里插入图片描述

解决办法是:把这句代码删了,编译后用上面的笨办法烧录进去,以后只点烧录按钮即可!(如果是JTAG调试,道理类似)

猜你喜欢

转载自blog.csdn.net/vskjrv/article/details/122416836