小熊派gd32f303学习之旅(4)—使用DMA实现串口打印
一、前言
在上一篇文章(串口打印第一个Hello world程序)我们使用重定义fputc函数的方式实现了串口打印,但是这种方式本质上是在循环输出字符,比较浪费CPU资源。
解决这个问题的方法就是使用DMA进行发送。
通过串口gd32f30x的用户手册,可以看到,uart0的发送使用的的DMA0的通道3
二、添加DMA驱动
在之前的uart0_init()
函数中添加DMA的初始化,如下:
在上一篇文章(串口打印第一个Hello world程序)我们使用重定义fputc函数的方式实现了串口打印,但是这种方式本质上是在循环输出字符,比较浪费CPU资源。
解决这个问题的方法就是使用DMA进行发送。
通过串口gd32f30x的用户手册,可以看到,uart0的发送使用的的DMA0的通道3
在之前的uart0_init()
函数中添加DMA的初始化,如下: