环境: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输出模式配置