STM32 PB3 PB4 无法作为 GPIO 使用解决办法

如下所示,PA13 PA14 PB3 PB4 PB5, 默认是JTAG + SWD的 PIN, 需要引脚ReMap 才能作为GPIO 使用。

 

HAL库解决办法

  // __HAL_AFIO_REMAP_SWJ_ENABLE(); //Full SWJ (JTAG-DP + SW-DP):
  // __HAL_AFIO_REMAP_SWJ_NONJTRST(); //Full SWJ (JTAG-DP + SW-DP) but without NJTRST
  __HAL_AFIO_REMAP_SWJ_NOJTAG(); // 不支持JTAG 使用,仅支持SWJ Debug
  // __HAL_AFIO_REMAP_SWJ_DISABLE(); // SWJ 和 JTAG 都不支持,但可以用stlink下载程序

标准库解决办法

STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置_atf32 pa15作为io-CSDN博客

1.GPIO_Remap_SWJ_JTAGDisable: /*!< JTAG-DP Disabled and SW-DP Enabled */  即能用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试

2.GPIO_Remap_SWJ_Disable:  /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */  5个引脚全为普通引脚,但不能再用JTAG&SWD仿真器调试,只能用st-link调试 

3.GPIO_Remap_SWJ_NoJTRST: /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */PB4可为普通IO口,JTAG&SWD正常使用,但JTAG没有复位

如果你用到所有的五个引脚当做普通IO口,那么上述步骤二中的重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 如果你用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试,则重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 同理可配置只用PB4可为普通IO口的情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值