在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 );
}

接着在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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容