duedueduedeu
Dependencies: XbeeApiLib mbed
main.cpp
- Committer:
- ark777
- Date:
- 2017-03-11
- Revision:
- 0:ad46c53f4977
File content as of revision 0:ad46c53f4977:
/* * XbeeでApi通信を行うライブラリの使用例 * コメントは全てXbeeApiLib関係の内容 */ #include "mbed.h" #include "XbeeApiLib.h" // XbeeApiLib のインクルード DigitalOut led1(LED1); // パケット受信時に呼ばれてほしい関数のプロトタイプ宣言 Length: データ長 *message: データ void OnXbeeDataReceived(int Length, char *message); int main() { // XbeeApi 「好きな名前」(TxPin, RxPin, ボーレート, パケット受信時に呼ばれてほしい関数) XbeeApi xbee(p13, p14, 115200, OnXbeeDataReceived); // 0番目の宛先アドレス xbee.SetAddress(0, 0x0013A200, 0x40A88F02); // 1番目の宛先アドレス xbee.SetAddress(1, 0x0013A200, 0x40E7D43E); // 2番目の宛先アドレス xbee.SetAddress(2, 0x0013A200, 0x40E7D44F); led1 = false; while(true){ /* * XbeeApi::StartPacket(char Header) に渡す数字は XbeeApiで定められたものではなく * 単に地上局側でデータのフォーマットを判別するためのものなので * どの数字にどのフォーマットを当てはめるかはmainのプログラムを書く人が勝手に決めて良い * ただし0x00は非推奨 (パケットが128バイトを超えそうになった時にエラーとして0x00が使用されるため) */ xbee.StartPacket(0x11); // ヘッダー0x11のパケットの準備 この数字は任意のものを書き込んでよい xbee.Write(1); // 上で用意したパケットにint型の数値を書き込む xbee.Write(0.5f); // 上で用意したパケットにfloat型の数値を書き込む xbee.Write(0.5); // 上で用意したパケットにdouble型の数値を書き込む xbee.EndPacket(); // パケットを送信 wait(0.05); } } // パケット受信時の処理 Length: データ長 *message: データ void OnXbeeDataReceived(int Length, char *message){ led1 = !led1; }