STM32的PA15、PB3、 PB4管脚作普通管脚的解决办法

  最近做了一个板子,使用的是SWD方式进行下载程序,仅仅使用到SWDIO(PA13) 和SWCLK(PA14)两个管脚。我将PA15(JTDI)和PB3(JTDO)管脚用于他用(用于点LED使用),发现无法将这两个管脚拉低,于是我做了一下工作:

(1)检查电路板上是否有虚焊,断路

(2)检查程序是否没有配置正确

(3)发现都没有问题,我尝试着把程序中的PB3配置成了PB4(JNTRST)管脚,然后使用万用表测试一下发现PB4仍然无法拉低(此时有点怀疑是不是stm32这几个管脚坏掉了)

(4)于是我又换了一个管脚PB8,程序拉低后,使用万用表测一下拉低了,然后使用跳线测试LED成功点亮。(验证了STM32单片机并没有坏)

 

我在网上搜到PA15,PB3,PB4这几个管脚默认功能不是普通管脚,需要进行重映射后,才能普通使用

 

解决办法:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);//重映射AFIO时钟必须开启
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

 

 

其中:GPIO_Remap_SWJ_JTAGDisable  改变管脚映射(失能JTAG功能)

除此之外还有:GPIO_Remap_SWJ_NoJTRST  : Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST        

                         GPIO_Remap_SWJ_Disable   : Full SWJ Disabled (JTAG-DP + SW-DP)

 

转载于:https://www.cnblogs.com/darren-pty/p/10528658.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值