GD32E50x_Firmware_Library_v1.2.4
算是两个例程的结合吧
Examples\USART\DMA_transmitter&receiver_interrupt
Examples\USART\Printf
Printf例程中把fputc重定义为USART串口输出
DMA_transmitter&receiver_interrupt例程中把txbuffer输出至串口
结合起来如下USART0_DMA_Printf
其中buffer数组大小的定义是否为最佳?
DMA_transmitter&receiver_interrupt取消初始化串口输出使能即可
// dma_channel_enable(DMA0, DMA_CH3);
需要#include <stdarg.h>
/* retarget the C library printf function to the USART */
int fputc(int ch, FILE *f)
{
usart_data_transmit(USART0, (uint8_t)ch);
while (RESET == usart_flag_get(USART0, USART_FLAG_TBE))
;
return ch;
}
void USART0_DMA_Printf(const char *format, ...)