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

那么在pcDuino上如何用printf函数将数据从串口送出来呢?这就需要修改Arduino上的串口的库文件了。
修改 步骤如下:

 1、在 pcduino上arduino的库文件路径是:/usr /arduino/hardware/arduino/pcduino/core/arduion
我们打开 串口库的头文件 “Serail.h” ;
2 、在包含头文件的位置添加“#include<stdarg.h>”;
3、在Hwserial类的public函数中添加“void Printf(const char*fmt,…)”;
4、打开串口库的函数实现文件“Serail.cpp” ;
5、在函数实现文件中添加如下代码:
 
void Hwserial::Printf(const char *fmt,…)
{
int count;
char *buffer;
var_list Arglist;

count = 0;
buffer = (char*)malloc(128);
if(buffer == NULL)return;
va_start(Arglist,fmt);
vsprintf(buffer,fmt,Arglist);
while(buffer[count] != ‘\0′)this->write(buffer[count++]);
free(buffer);

}
posted @ 2022-02-18 08:04  cqmcu_yth  阅读(1550)  评论(0编辑  收藏  举报