在Arduino上使用printf格式化输出到串口

不少朋友尝试在Arduino上使用printf格式化输出,但没有效果。在PC上printf默认输出到屏幕,但arduino不是PC,也没有屏幕,所以不能直接使用。
这里提供一个使用printf输出到串口的方法:
首先在程序中加入这两个函数:

int serial_putc( char c, struct __file * ) { Serial.write( c ); return c; } void printf_begin(void) { fdevopen( &serial_putc, 0 ); }

【在Arduino上使用printf格式化输出到串口】接着在setup中完成串口输出的初始化:
void setup() { Serial.begin(115200); printf_begin(); //其他代码 }

现在你可以尝试下使用printf输出了:
int cs=12345; float cf=12.345; char c[15]="Hello,world!"; printf("***arduino.cn***\n\r"); printf("111:%d\n",cs); printf("222:%lf\n",cf);

    推荐阅读