STM32中部分GPIO口无法驱动

芯片:STM32F103RCT6


今天在配置stm32的过程中发现PB3和PB4引脚在上电后无法和其他GPIO口一样进行正常的驱动,
查看手册后发现,JTAG和SW这两个程序烧写口在默认状态下是进行了映射的 ,要想正常使用需要关闭映射。


具体的解决方案就是禁用JTAG或者SWD来释放端口:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,EBABLE);//重映射时钟使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//只关闭JTAG,保留SW

PS:最近在调试TIM2映射过程中发现,关闭jtag端口必须在映射时钟,io时钟,tim2时钟全部使能,先进行映射再进行端口关闭.否则就会出现cnt无法计数的情况