不少朋友嘗試在Arduino上使用printf格式化輸出,但沒有效果。在PC上printf默認輸出到屏幕,但arduino不是PC,也沒有屏幕,所以不能直接使用。
這里提供一個使用printf輸出到串口的方法:
首先在程序中加入這兩個函數(shù):
[mw_shl_code=cpp,true]
int serial_putc( char c, struct __file * )
{
Serial.write( c );
return c;
}
void printf_begin(void)
{
fdevopen( &serial_putc, 0 );
}
[/mw_shl_code]
接著在setup中完成串口輸出的初始化:
[mw_shl_code=cpp,true]void setup() {
Serial.begin(115200);
printf_begin();
//其他代碼
}[/mw_shl_code]
現(xiàn)在你可以嘗試下使用printf輸出了:
[mw_shl_code=cpp,true]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);
printf("333:%s\n",c);
printf("111:%d\n222:%lf\n333:%s\n",cs,cf,c);[/mw_shl_code]
承擔因您的行為而導致的法律責任,
本站有權保留或刪除有爭議評論。
參與本評論即表明您已經閱讀并接受
上述條款。