通过UART使用printf函数

2019-04-15 15:25发布

#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。
           贴出来和大伙分享,希望给您的调试带来方便!