2016年3月8日火曜日

XBee APIモード TX要求(0x10)

Arduino IDE1.7.8では
Serial.print(0x7E,BYTE);
じゃなくて
Serial.write(0x7E);
を使う。

BIN(2進数)、OCT(8進数)、DEC(10進数)、HEX(16進数)を使うなら「Serial.print(data, format)」
BYTEは「Serial.write」

//[0]スタートバイト
Serial.write(0x7E);
//フレーム長バイト数チェックサムを含まない。
//[1]上位
Serial.write(0x00);
//[2]下位
Serial.write(0x10);
//[3]フレームタイプ
Serial.write(0x10);
//[4]応答用フレームID
Serial.write(num);
//64bitアドレス コーディネーター
//[5-8]
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x00);
//[9-12]
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x00);
//[13-14]16bitアドレス コーディネーター
Serial.write(0x00);
Serial.write(0x00);
//[15]ブロードキャストホップ数
Serial.write(0x00);
//[16]オプション
Serial.write(0x00);
//[17]RFデータ1
Serial.write(rf1);
//[18]RFデータ2
Serial.write(rf2);
//Serial.write(0xF0);
//[19]チェックサム
long sum = 0xff - ((0x10 + num + rf1 + rf2) & 0xff);
Serial.write(sum);
delay(10);
参考書籍:XBeeで作るワイヤレスセンサーネットワーク (Make: PROJECTS)

0 件のコメント:

コメントを投稿