C primer plus
- 笔记1
- 笔记2
代码片
void USART_SendStr(USART_TypeDef* USARTx, char *str)
{
if(NULL == str)
{
return;
}
while(*str!='\0')
USART_SendByte(USARTx, *str++);
}
static void myDebugstr(USART_TypeDef* USARTx, char *str)
{
if(NULL == str)
{
return;
}
USART_SendStr(USARTx, str);
// if(0!=*str)LastPrintfTime=GetSysTime();
}
void Printf(char *format, ...)
{
char PrintfBuf[256] = {0};
va_list arg_ptr;
va_start(arg_ptr, format);
vsnprintf((char *)PrintfBuf, 256 - 1, (const char *)format, arg_ptr);
myDebugstr(USART1, PrintfBuf);
va_end(arg_ptr);
}
va_start和va_end使用详解参考博文:
http://www.linuxidc.com/Linux/2016-10/135785.htm