问题:
用stlink将stm32cubemx生成的源码,下载到stm32单片机中,在第一次下载时顺利进行,然后将单片机上电,程序也正常运行。但是再次下载程序时就发现找不到单片机,在debug-setting里面也看不到单片机。起初自己以为花了100多块钱的盗版板子设计有bug,后来发现cubemx生成的源码需要一个细微的修改。
解决
- 起初,找到了一种解决方案,就是再断电后,只连接stlink下载线,长按复位开关,然后就可以再次下载。 不过这也没什么卵用,总不能次次下载都这样吧。后来,自己拿标准库的例程源码试了试,并没有发现这种问题。认定这一定是源码有问题。
- 最后在msp.c这个文件中的void HAL_MspInit()函数的最后一行发现了__HAL_AFIO_REMAP_SWJ_DISABLE();//禁用JTAG-DP并禁用SW-DP
将这条语句注释掉就解决问题了。