关于u2_printf函数的问题

2019-07-25 11:22发布

//串口2,printf 函数
//确保一次发送数据不超过USART2_MAX_SEND_LEN字节
void u2_printf(char* fmt,...) 

 va_list ap;
 va_start(ap,fmt);
 vsprintf((char*)USART2_TX_BUF,fmt,ap);
 va_end(ap);
 while(DMA1_Channel7->CNDTR!=0); //等待通道7传输完成  
 UART_DMA_Enable(DMA1_Channel7,strlen((const char*)USART2_TX_BUF));  //通过dma发送出去
} 请问原子哥: vsprintf((char*)USART2_TX_BUF,fmt,ap);这个宏的意思:不就是用USTART2发送数据么 为啥还用到DMA在发送一遍数据
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。