stm32的程序下载引脚涉及PB3、PB4、PA13、PA14、PA15,其中PA13,PA14分别作为SWD调试的SWIO和SWCLK。PB3,PB4,PA13,PA14,PA15共同用于JTAG调试。
看上面的数据手册,可以知道一般的IO口,其默认功能就是IO口。可是PB3、PB4、PA13、PA14、PA15这几个IO口的默认功能是JTAG功能,IO口功能反而是他们的重映射功能。因此要把他们作为普通IO口使用,要把他们的重映射功能打开。
只需要把PB3,PB4,PA15当成IO使用,设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
把PB3、PB4、PA13、PA14、PA15都当成IO使用,设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
注意一定要把AFIO时钟打开,不然GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);是没有意义的。