今天调试电路板,发下下图中的绿色Led和黄色Led不能正常亮灭,开机的时候黄色Led一直亮着。
然后查了半天,发现PA15/JTDI、PB3/JTDO、PB4/JNTRST复位后主要功能不是GPIO功能,是JTAG功能,所以导致上图中的GLed和YLed不能正常亮灭。
对于这种情况需要配置JTAG接口的IO为通用IO。配置时要先启用复用IO时钟,再配置,配置代码如下:
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);只需要上面两行代码就行,其中
GPIO_Remap_SWJ_JTAGDisable的含义是JTAG-DP Disabled and SW-DP Enabled,也就是禁用JTAG调试接口只启用SW调试接口。如上配置就可以正常使用PA15、PB3、PB4通用端口功能了。
来源:单片机嵌入式爱好者
https://www.toutiao.com/article/6725661096524382728/