烧写一次程序之后检测不到开发板-----STM32的SWD下载问题

今天在网上找了一个在f407上面移植的UCOS ii准备跑一下,结果下载一次之后开发版检测不到了,本以为是硬件烧掉了,然后换了一个板子,又出现了同样的问题——检测不到开发板。
烧写一次程序之后检测不到开发板-----STM32的SWD下载问题_第1张图片
烧写一次程序之后检测不到开发板-----STM32的SWD下载问题_第2张图片
不会两个板子都这么脆弱吧!
想了很久感觉可能是程序内部把SWJ(swd+jtag)功能给关掉了,然后去网上找到了一个GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE)的函数,
但是写到程序中发现是f103的固件库中才有的,把参考手册又翻了一遍,找到了一个叫
GPIO_AFCONFIG的函数,
也就是这三句:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_PinAFConfig(GPIOA,GPIO_Pin_14,GPIO_AF_SWJ);
GPIO_PinAFConfig(GPIOA,GPIO_Pin_13,GPIO_AF_SWJ);
把PA口复用功能打开,然后复用PA13 14两个引脚为SWJ,
成功解决问题!!
如果想使用JTAG功能的话,把剩下的引脚按上面的步骤复用就可以了。烧写一次程序之后检测不到开发板-----STM32的SWD下载问题_第3张图片

你可能感兴趣的:(烧写一次程序之后检测不到开发板-----STM32的SWD下载问题)