小熊派gd32f303学习之旅(4)—使用DMA实现串口打印

小熊派gd32f303学习之旅(4)—使用DMA实现串口打印

1、前言

在上一篇文章(串口打印第一个Hello world程序)咱们使用重定义fputc函数的方式实现了串口打印,可是这种方式本质上是在循环输出字符,比较浪费CPU资源。
解决这个问题的方法就是使用DMA进行发送。
经过串口gd32f30x的用户手册,能够看到,uart0的发送使用的的DMA0的通道3
在这里插入图片描述web

2、添加DMA驱动

在以前的uart0_init()函数中添加DMA的初始化,以下:svg