GD32F103RCT6/GD32F303RCT6-杂项-串口重映射到备用引脚(以GD32F103RCT6串口0的PA9和PA10映射到PB6,PB7为例)

   本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发

向上代码兼容GD32F450ZGT6中使用

后续项目主要在下面该专栏中发布:

https://blog.csdn.net/qq_62316532/category_12608431.html?spm=1001.2014.3001.5482

感兴趣的点个关注收藏一下吧!

电机驱动开发可以跳转:

GD32F103RCT6/GD32F303RCT6-实战项目-无刷电机驱动(1)_gd32f103rct6例程-CSDN博客

BMS电源系统开发可以跳转:

暂未放链接

DCDC-双向BUCK-BOOST实战链接:

GD32实战篇-双向数控BUCK-BOOST-BUCK降压理论基础-CSDN博客

GD32实战篇-双向数控BUCK-BOOST-BOOST升压理论基础-CSDN博客

目录

介绍

       在开发GD32为主控的电机驱动的时候,发现定时器0的PWM通道部分引脚和串口1的引脚发生了重合,本着我就要用串口0去Debug的脾气,完成了对串口1的重映射。

寄存器

       知识的来源来自于官方,本着这个原则,让我们打开这本厚重的手册!在他的第156页我们能够找到以下:

3de950a877514b2fa6ce07a7f1f9963d.png

       官方给了很详细的寄存器指导,通过AFIO 端口配置寄存器 0AFIO_PCF0

       就很很轻松很简单的完成对串口0的重映射!

       让我们来看看他吧,请把手册翻到第167页,你会得到如下:

0c7bf542c68c4dcda63fabbcc693f52d.png

       这是寄存器的全貌,以及如下:

4498c0a1b60644078ccbdfe7c993a03b.png

       饭已经喂到大家嘴里了,多的就不用我去说了吧! 

       和前面的文章判断定时器通道是否开启详细见:

https://blog.csdn.net/qq_62316532/article/details/136770713?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/qq_62316532/article/details/136770713?spm=1001.2014.3001.5502

代码

       两者不一样的是,对于重映射,官方考虑到了,所以给了我们直接的函数引用!

8aa4bbfe69994e3d8bcd7b040e9aca2a.png

       这个函数不知道大家熟悉不熟悉!如果你告诉我不熟悉的话,想一下PB3和PB4!

       没错,PB3和PB4用作SWD,我们做普通IO口使用的时候需要重新映射!

       还没想起来?好吧下篇文章就再给你们出个教程吧!

       这里官方给了函数了,那我就愉快的使用了!

9e3fe6df67ad4646abb783da26f923e1.png

       函数的解释中,会有很多变量和解释,具体的大家自己去GD32库可以详细的了解一下,这其实就是我上面的寄存器的操作,大家肯定一看就会!

       我们使用到的主要是:

f78aacf6b7e14feabcb135af1f87a87b.png

       记得使能重映射的时钟!

       那么写都写了,就把调试好的代码贴出来给大家吧!

       首先你肯定要去使能时钟了!注释都写了,大家自己看看!

8e70598b77894bf3a9582a49aacd5eec.png

       其次呢,你这两个引脚作为串口功能,你不需要去配置一下这两个引脚嘛

1d476d9fb754470ba173c1847accee31.png

       就是推挽和模拟啦,大家都懂

       然后去配置一下串口0的参数,也是常规代码!

93c64bff523e43cf99f4badd607a0fce.png

       然后我们去愉快的测试一下!

ac09a738df84480b91d9726cdc123f7e.png

       这里我开了中断回显,我代码没贴出来,这篇主要是以重映射讲解为主!具体的可以去看我后面发的教程!

结语

       自此结束,目前
       GD32F103RCT6 基础型 目前已经完成了教程文档开发、源码编写、UCOSIII移植、函数重写,正在进行电机驱动开发
       GD32F107RCT6 互联型 目前正在制作多路CAN、485、以太网通讯,输入输出隔离的开发以及源码编写和UCOSIII移植
       GD32F407ZET6 目前尚未开始


       我会在后续时机合适的时候发表,关注我!第一时间了解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不及你的温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值