打印
[应用相关]

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

[复制链接]
398|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 | 只看该作者
谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

4143

帖子

1

粉丝