打印

GD32F303想控制PA13~15、PB3和PB4不成功?

[复制链接]
497|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有没有小伙伴遇到这种情况:在使用GD32F303的时候,想要将PA13~15以及PB3PB4作为IO口来使用,却怎么也不成功呢?下面小编就来告诉大家原因。
我们先来看下GD32F303 datasheet中这几个引脚的定义:
原来,这几个引脚比较特殊,它们在默认情况下,是用于调试的JTAG/SWD口功能,想要当做普通IO口或者其他复用功能来使用需要进行“remap”
那么如何进行remap呢?我们再来看下GD32F303 用户手册中的《GPIOAFIO》章节中的JTAG/SWD 备用功能重映射介绍:
可以看到,remap有多种模式可以选择,比如将SWJ_CFG设置为“010”,那么就可以保留SWD功能,即PA13PA14还可以用于调试,而PA15PB3PB4则被释放,从而可以当做普通IO或者其他复用功能引脚使用;若设置SWJ_CFG“100”,那么PA13~PA15PB3PB4都可以当做普通IO口来使用,但注意,这个时候要想再用SWD模式去调试MCU会失败哦。
现在来教大家如何通过库函数实现JATG/SWDremap功能。
通过用户手册我们可以看到SWJ_CFG2:0】位于AFIO_PCF0中,所以必须要先打开AF时钟:
然后再使用gpio_pin_remap_config函数进行remap配置就可以了。所以完整的代码是:
调用该段代码后,小伙伴们就可以将这些特殊引脚配置为你想要的功能啦!
教程由GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

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

本版积分规则

167

主题

187

帖子

5

粉丝