ライブラリ > Messenger

http://www.arduino.cc/playground/Code/Messenger
テキストベースの通信プロトコルライブラリ
1行読んで区切り文字(デフォルトは空白)で区切ってintかcharで取得するだけの単純な機能。

もっと多機能のものが必要なら→ライブラリ/Firmata


サンプル

#include <Messenger.h>

/*
(INPUT)
1 2 3
123 123 123
aaa aaa aaa
a a a
100 200 300 400 500
-----------------------------
(OUTPUT)
i=1 c=50 s=3
i=123 c=49 s=123
i=0 c=97 s=aaa
i=0 c=97 s=a
i=100 c=50 s=300
i=400 c=53 s=
*/

Messenger msgr = Messenger(); 

void messageReady()
{
 while(msgr.available()){
   int   i = msgr.readInt();
   char  c = msgr.readChar();
   char* s = msgr.readString();
   Serial.print("i="); Serial.print(i);
   Serial.print(" c="); Serial.print((int)c);
   Serial.print(" s="); Serial.print(s);
   Serial.println();
 }
}

void setup()
{
 Serial.begin(115200); 
 msgr.attach(messageReady);
 Serial.println("start!!");
}

void loop()
{
 while(Serial.available()){
   msgr.process(Serial.read());
 }
}

getString

無いので追加。
char* Messenger::readString()
{
 if(next()){
   dumped = 1;
   return current;
 }
 return token+1;// empty string
}

タグ:

+ タグ編集
  • タグ:
最終更新:2009年05月06日 00:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。