【Arduino】Arduino接收字符串
相關文章 【Arduino】開發入門【十】Arduino藍牙模塊與Android實現通信
在【Arduino】開發入門【十】Arduino藍牙模塊與Android實現通信 中,只實現了,單個字符的發送。
Arduino的Serial.read()每次只能讀一個字節,下面的方法說明如何實現字符串通信。
編譯只要一塊Arduino,當然可以結合【Arduino】開發入門【十】Arduino藍牙模塊與Android實現通信。
用Arduino編譯器的串口監視器即可看到結果,我們打什么文字進去,下面就會返回什么文字。
實現代碼,網上貼了很多
String comdata = ""; void setup() { Serial.begin(9600); } void loop() { while (Serial.available() > 0) { comdata += char(Serial.read()); delay(2); } if (comdata.length() > 0) { Serial.println(comdata); comdata = ""; } }
代碼很簡單,comdata是一個字符串類型變量。Serial.available()是當前串口緩沖池的數據量。Serial.read()是讀緩沖池的語句,每次只能讀一個字節。
用了String類型變量,很簡單的實現了字符到字符串的加入,還有字符串輸出,賦值等麻煩問題,所以很簡單的代碼就能處理串口數據。
特別留意的是讀串口時的delay(2)不能刪掉,否則串口緩沖區不夠時間接受數據。即使調小延時也會出錯。具體數值也可以實驗決定。
再提醒一個:comdata說是一個字符串,也是一個數組,引用每個字的話可以用comdata[0],comdata[1]。。。comdata[n]。如果我們要每個字節取出的話,可以每個引用。
相關文章
【Arduino】開發入門教程【一】什么是Arduino
【Ardunio】開發入門教程【二】數據類型
【Arduino】開發入門教程【三】Arduino開發工具
【Arduino】開發入門教程【四】Arduino驅動安裝
【Arduino】開發入門教程【五】Hello Arduino
【Arduino】開發入門教程【六】數據類型轉換函數
【Arduino】開發入門教程【七】7段顯示器實現+源代碼
【Arduino】開發入門教程【八】舵機操作+源代碼
【Arduino】開發入門【十】Arduino藍牙模塊與Android實現通信
//////////////////////////////////////////////
原創聲明 轉載請注明
本文出自 Ray-Ray的博客
文章地址 http://www.cnblogs.com/rayray/p/3198091.html
感謝大家的推薦和收藏
你的支持! 我們的動力!