Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2230|回復: 2
打印 上一主題 下一主題

Serial字串解析的問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-11-14 10:55:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我想問個應該是比較基本的問題。
如果我從一台arduino經由Serial送出一串逗號分隔的資訊,
比如說結構像這樣:
$,溫度,濕度,氣壓,鼻塞,
送出的值像這樣:
$,45,88,1010,Y,
我想在另一台arduino上(或是電腦的processing上)解析這筆資訊,
讓我能夠拆出
溫度=45
濕度=88
氣壓=1010
鼻塞=是
我應該要怎麼做,或是要怎麼查這樣寫的語法?
在網路上看了幾天,有看到好像是做這種事的語法,但又不確定也不明瞭怎麼運作的。
另外,傳送這樣的資訊,不要用逗號分隔會比較方便或比較好解析嗎?
2#
發表於 2014-11-19 20:25:34 | 只看該作者
用if跟substring()試試看
3#
 樓主| 發表於 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..
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 10:53 , Processed in 0.248414 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表