那么在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,…)”;
我們打開 串口庫的頭文件 “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); }