[应用相关] STM32 特殊功能脚设置为普通脚的方法

[复制链接]
580|2
 楼主| 晓伍 发表于 2019-7-5 08:36 | 显示全部楼层 |阅读模式
   一个项目中用到了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置低。


mmuuss586 发表于 2019-10-1 17:33 | 显示全部楼层
zlmin 发表于 2019-10-2 10:41 来自手机 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

4389

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部