STM32 特殊功能脚设置为普通脚的方法

    一个项目中用到了STM32中的PB3,使用的时候发现这个脚不受控制,查看手册发现这是个特殊功能引脚。PB3 和PB4 分别是JTAG的JTDO和NJTRST脚,在默认情况下,STM都是把他们复用为特殊功能脚,在没有关闭JTAG功能之前,这连个脚不受GPIO的ODR寄存器控制。

    要把他们配置为普通的引脚,需要禁止他们的复用功能。库函数是

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

注意操作复用功能,则需要开启复用时钟

 RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO,ENABLE);

在普通引脚配置的基础上加上这两句就可以当普通引脚一样使用了。

需要注意的地方:

GPIO_PinRemapConfig函数的参数GPIO_Remap_SWJ_JTAGDisable 表示的是禁止JTAG 使用SW—DP。此时还可以继续使用JLINK调试程序。但如果参数选择了GPIO_Remap_SWJ_Disable 将会完全关闭SWJ的功能,也不能再使用JLINK等工具调试了。如果完全禁止了SW+JTAG,需要再次开启的话,使用串口下载程序,并修改GPIO_PinRemapConfig的参数 串口下载的时候,需要把BOOT0置高 BOOT1置地 下载完成后把BOOT0置低。

 
发布了54 篇原创文章 · 获赞 62 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/u013053268/article/details/53485877