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