環境:STM32F207
實現功能:串口printk(....)實現
引言:相信大家對串口初始化應該沒有問題了,這裏我就不做說明了,不懂得請在網上找資料,這裏我主要是講講多參數模式
void printk(char *msg,...)
{
va_list argp;
while(!Usart1DmaSendOverFlag);//等待上次數據發送完
Usart1DmaSendOverFlag = 0;
va_start(argp,msg);
vsnprintf((char*)usartBuf , sizeof(usartBuf) , msg , argp);
va_end(argp);
strout((char*)usartBuf);
}
好了就是這個,其中strout就是輸出一個字符串,具體輸出字節序該怎麼弄,其實就是strout裏面的內容。
其中,要使用va_list的話,就必須包含一個頭文件 #include <stdarg.h>
這裏只是停留在串口上層,具體怎麼輸出的,下一講將會說串口DMA輸出模式配置