Robofun 機器人論壇
標題:
Serial字串解析的問題
[打印本頁]
作者:
milka
時間:
2014-11-14 10:55
標題:
Serial字串解析的問題
我想問個應該是比較基本的問題。
如果我從一台arduino經由Serial送出一串逗號分隔的資訊,
比如說結構像這樣:
$,溫度,濕度,氣壓,鼻塞,
送出的值像這樣:
$,45,88,1010,Y,
我想在另一台arduino上(或是電腦的processing上)解析這筆資訊,
讓我能夠拆出
溫度=45
濕度=88
氣壓=1010
鼻塞=是
我應該要怎麼做,或是要怎麼查這樣寫的語法?
在網路上看了幾天,有看到好像是做這種事的語法,但又不確定也不明瞭怎麼運作的。
另外,傳送這樣的資訊,不要用逗號分隔會比較方便或比較好解析嗎?
作者:
ingenuus
時間:
2014-11-19 20:25
用if跟substring()試試看
作者:
milka
時間:
2014-11-21 13:58
本帖最後由 milka 於 2014-11-21 14:02 編輯
substring() 在arduino的reference中好像找不到....
根據這一篇:
http://www.robofun.net/forum/vie ... =printable&tid=6636
大大的意思是這樣寫嗎?
Serial接收到訊息-> $,45,88,1010,Y,
int T;
int V;
int P;
char nose;
if (Serial.abailable > 0){
string buffer = Serial.read();
T = buffer.substring(3, 4);
V= buffer.substring(6, 7);
P= buffer.substring(9, 12);
nose = buffer.substring(14, 14);
}
Serial.print("溫度:");
Serial.println(T);
Serial.print("濕度:");
Serial.println(V);
Serial.print("壓力:");
Serial.println(P);
Serial.print("鼻塞:");
Serial.println(nose);
這樣子的話,來源格式就不能有變動對吧? 因為是去讀字串的固定位置。 比如說溫度很低,低於10度...或是壓力很低,低於1000..
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2