任意データの送受信:コマンド 0x01
UARTコマンドにより、無線端末間で任意データの送受信が可能です。
外部のマイコン等から論理デバイスIDを指定して他の無線端末に対してデータ列を送信できます。TWELITE DIPアプリでは1パケットで送信できるデータサイズは最大で80バイトですが、複数のパケットに分割して送ることで最大約 800 バイトまでのデータを送受信することができます。データサイズが80バイト未満の場合は1パケット通信を行います。
いずれかの端末を親機に設定して下さい。(モード設定ビットのM1をGND(電源のマイナス側)に接続します。)子機に特定のID番号を割り振る必要がある場合は、上記インタラクティブモードにて子機の論理デバイスIDを設定してください。
電文の形式は先頭が : (コロン)で続いて 0-9 A-F の文字列が連続し <CR><LF>で終端する形式です。"1122AABB" の系列は 無線パケット上では 0x11 0x22 0xAA 0xBB と解釈されます。1バイトを2文字で表現する入力形式で少々効率が悪いのですが、変換は単純であるためこの形式を採用しています。
以下は、親機 (論理デバイスID=0x00) から子機 (論理デバイスID=0x78) へ送信する例です。
:780100112233AABBCCDD13<CR><LF>
^1^2^^^^^^^^^^^^^^^3^4
データフォーマット
1: 1バイト: 宛先の論理デバイスID (この例では論理デバイスIDが0x78の子機に送信している)
2: 1バイト: コマンド (0x01)
3: Nバイト: データの中身
4: 1バイト: チェックサム
送信後子機側にも同じメッセージが表示されます。
:008115016986300004781AE1000C332400004C4D4D4D023B
:008115016986300004781B27000C322400004C4C4D4D0FE9
:780100112233AABBCCDD13
インタラクティブモードでは、エコーバックの表示、チェックサムエラーの表示を行います。送受信のテストにはこちらを利用ください。入力系列の解釈に失敗すると、続く入力系列は操作コマンドとして認識しますのでご注意ください。また BS/DEL キーには対応していませんので訂正はできません。
:780100112233AABBCCDDFF<CR><LF> !INF LRC_ERR? (might be 13)← チェックサムは 0x13 が正解
チェックサムを省略し替わりに X を入力することができます。(例 :780100112233X)
データ送信機能の制限事項
- 最大送信文字列は約800バイトですが、データが大きくなればなるほど多数のパケット(1パケットは80バイト)に分割され通信が頻繁になるため通信の失敗率が増える可能性があります。
- 中継器を使用した場合、データが重複して受信されたり、失敗率が増える可能性があります。よって、期待通りの動作をしない場合があります。