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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM