PB3/4默认配置为JTAG脚设置位普通IO
在STM32中,PA13/14/15 & PB3/4默认配置为JTAG功能,若要用作普通IO时需要禁用JTAG(使用SWD模式,可以节省IO),增加如下代码即可:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
DBGMCU->CR &= ~(uint32_t)DBGMCU_CR_TRACE_IOEN; //加上此句,下载后IO直接变成普通IO使用,否则需要上电重启才能生效,测试不需要?
切记不要使用 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE), 否则无法用jtag及swd下载调试!若使用了,补救措施就是改启动模式啦!
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开始AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); // 禁止JTAG-DP , 使能SW-DP
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE); //关闭AFIO时钟