JNTRST作為普通IO口使用配置

今天調試電路板,發下下圖中的綠色Led和黃色Led不能正常亮滅,開機的時候黃色Led一直亮著。

STM32引腳PA15/JTDI、PB3/JTDO、PB4/JNTRST作為普通IO口使用配置

然後查了半天,發現PA15/JTDI、PB3/JTDO、PB4/JNTRST復位後主要功能不是GPIO功能,是JTAG功能,所以導致上圖中的GLed和YLed不能正常亮滅。

STM32引腳PA15/JTDI、PB3/JTDO、PB4/JNTRST作為普通IO口使用配置

對於這種情況需要配置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通用端口功能了。


分享到:


相關文章: