#include
#include
#include
#include
#include
void uart_sendstring(char *pt)
{
while(*pt)
uart_putchar(*pt++);
}
void uart_printf(char *fmt,...)
{
va_list ap;
char string[256];
va_start(ap,fmt);
vsprintf(string,fmt,ap); //Use It Will Increase the code size, Reduce the efficiency
uart_sendstring(string);
va_end(ap);
}
说明:按照以上函数uart_printf就相当于C语言中的格式化输出函数printf,即uart_printf(“uart_printf num
= %d
”,100); 使用超级终端、串口调试助 手等 工具就能接收到。
uart_printf 函数中的一些类型,和函数如 va_list vsprintf() 都定义在头文件stdarg.h 中。
uart_putchar()是我们UART驱动中发送一个字节的函数,这个相信每个MCU都会有这个函数 voiduart_putchar (char data) ;
这种方式使用uart_printf 估计在不同的IDE中都能用,个人测试的有ADS1.2 IAR 和基于eclipse的IED。
贴出来和大伙分享,希望给您的调试带来方便!