打印

GD32 MCU如何将烧录口配置为GPIO使用?

[复制链接]
361|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如果大家在进行GD32 MCU开发时发现GPIO引脚使用不足,可以尝试将烧录口配置为GPIO使用,这样就可以多出几个引脚使用,但使用的时候如何配置以及有哪些注意事项,本视频将会为大家进行解答。
GD32 MCU存在两种GPIO备用功能的配置,一种是采用成组重映射REMAP的模式,比如GD32F10X/20x/30x/e10x/E50X等系列,一种是采用AFIO模式,比如GD32F1X0/3X0/4XX/E230等。
成组reamp重映射的模式需要将一组的GPIO进行重映射,如下图GD32F30X IIC0的重映射配置,PB6PB8需要组合使用,PB7PB9需要组合使用,而PB6PB9就不可以组合使用。
AFIO模式相较于REMAP的方式,使用更灵活,采用AFIO配置表进行配置,只要这个引脚具有的功能都可以使用,如下图GD32F3X0AF表,根据表中的配置可以随意使用。
掌握了以上两种GPIO备用功能配置,我们就介绍下两种备用功能下调试口如何作为GPIO使用:
1remap重映射模式下
如下图所示,可通过调整SWJ_CFG控制位进行配置。

具体配置代码如下图所示
C
        rcu_periph_clock_enable(RCU_AF);
        gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);

具体remap形参配置有以下三种,GPIO_SWJ_NONJTRST_REMAP为全SWD功能,NJTRST可以作为GPIO使用,GPIO_SWJ_SWDPENABLE_REMAP为禁用JTAG,使能SWD,也就是PB15/PB3/PB4可以作为GPIOGPIO_SWJ_DISABLE_REMAPJTAGSWD均禁用,所有的烧录口都可以作为GPIO
C
      \arg        GPIO_SWJ_NONJTRST_REMAP: full SWJ(JTAG-DP + SW-DP),but without NJTRST
      \arg        GPIO_SWJ_SWDPENABLE_REMAP: JTAG-DP disabled and SW-DP enabled
      \arg        GPIO_SWJ_DISABLE_REMAP: JTAG-DP disabled and SW-DP disabled
配置烧录口对应的REMAP后,就可以正常配置GPIO了。
2AFIO模式下
AFIO模式下,将烧录口对应的引脚配置为GPIO模式即可作为GPIO使用了。
在配置烧录口作为GPIO使用的时候,需要大家特别注意,配置之后烧录口就不可以作为烧录功能了,除非将代码擦除,会影响大家调试代码,因而建议大家可以在配置烧录口为GPIO之前预留几秒钟的时间窗口,这样下次需要烧录的时候可以复位后擦除或者烧录,实际量产后如果不需要这个延迟,可以再将延迟去除。如果时间窗口非常小,一上电就禁用烧录口了,大家可以尝试进入ISP Bootloader擦除后再烧录。
以上即为本期讲解,如有问题或建议,欢迎评论区讨论。

本教程由GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

评论回复
沙发
shenxiaolin| | 2024-7-29 22:07 | 只看该作者
感谢分享

使用特权

评论回复
板凳
shenxiaolin| | 2024-7-29 22:08 | 只看该作者
感谢分享

使用特权

评论回复
地板
地瓜patch| | 2024-7-31 21:21 | 只看该作者
配成gpio后,该接口就不能写程序了

使用特权

评论回复
5
小小蚂蚁举千斤| | 2024-7-31 22:34 | 只看该作者
采用成组重映射REMAP的模式其实是寄存器编程

使用特权

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

本版积分规则

170

主题

190

帖子

8

粉丝