今天調試電路板,發下下圖中的綠色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通用端口功能了。
閱讀更多 單片機嵌入式愛好者 的文章
關鍵字: APB2Periph 接口 調試