milka 發表於 2014-11-14 10:55:36

Serial字串解析的問題

我想問個應該是比較基本的問題。
如果我從一台arduino經由Serial送出一串逗號分隔的資訊,
比如說結構像這樣:
$,溫度,濕度,氣壓,鼻塞,
送出的值像這樣:
$,45,88,1010,Y,
我想在另一台arduino上(或是電腦的processing上)解析這筆資訊,
讓我能夠拆出
溫度=45
濕度=88
氣壓=1010
鼻塞=是
我應該要怎麼做,或是要怎麼查這樣寫的語法?
在網路上看了幾天,有看到好像是做這種事的語法,但又不確定也不明瞭怎麼運作的。
另外,傳送這樣的資訊,不要用逗號分隔會比較方便或比較好解析嗎?

ingenuus 發表於 2014-11-19 20:25:34

用if跟substring()試試看

milka 發表於 2014-11-21 13:58:15

本帖最後由 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..
頁: [1]
查看完整版本: Serial字串解析的問題