STM32使用cube生成的程序后在keil5编译后首次SWD可以下载再次下载不行的解决办法

1原因:

cube使用的是HAL库,初始化语句里面禁用了调试功能。

在stm32f1xx_hal_msp.c中

__HAL_AFIO_REMAP_SWJ_DISABLE();  就是这句禁了。

2解决:

在stm32f1xx_hal_msp.c中改为

__HAL_AFIO_REMAP_SWJ_ENABLE();    这句启用调试功能。

下载办法:按住开发板的复位按钮(一直到点击下载)后松开,就可以下载成功。

(记住这个下载办法,其它问题导致不能下载程序都可以使用该办法–按住复位再下载)

这里可能不熟练操作不好,多试几次。

然后就可以随意下载程序了。(不用按复位了)