STM32F10×××这些引脚(PA13、PA14、PA15、PB3、PB4)默认功能是作为仿真引脚的。PB3,PB4,PA13,PA14,PA15是特殊的IO口,用作JTAG/SWD仿真器的调试接口。其中PA13,PA14分别作为SWD调试的SWIO和SWCLK;PB3,PB4,PA13,PA14,PA15共同用于JTAG。引脚描述如《STM32参考手册》中所示:
这些引脚只有重定义功能后才能作为普通的IO口使用,所以我们需要对这些引脚进行配置的时候开启AFIO复用时钟。
步骤一:时钟配置时同时开启AFIO复用时钟
- //打开PB和PA口时钟,AFIO复用时钟
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);
步骤二:重映射(共三种方式)
1 即能用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试。则重映射配置为:GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
2 5个引脚全为普通引脚,但不能再用JTAG&SWD仿真器调试。则重映射配置为:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
3 PB4可为普通IO口,JTAG&SWD正常使用,但JTAG没有复位 则重映射配置为:GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
原文链接:https://blog.csdn.net/angers11/article/details/110871611