WirelessUART
WirelessUARTはシリアル通信を行います。
このアクトの解説の前にBRD_APPTWELITEの解説をご覧ください。
アクトの機能
2台のUART接続のTWELITE同士をアスキー書式で通信する。
アクトの使い方
必要なTWELITE
いずれかを2台。
TWELITE R でUART接続されているTWELITE DIPなど
アクトの解説
setup()
論理IDはrandom(1,5)
により1,2,3,4のいずれかの値に割り当てています。通常は、論理IDを設定保存したデータ、またはDIP SWといったハードウェアの情報から生成します。
シリアルパーサーを初期化します。
loop()
シリアルからのデータ入力があった時点で、シリアルパーサーに1バイト入力します。アスキー形式が最後まで受け付けられた時点でSerialParser.parse()
はtrue
を戻します。
SerialParser
は内部バッファに対してsmplbuf
でアクセスできます。上の例ではバッファの1バイト目を送信先のアドレスとして取り出し、2バイト目から末尾までをtransmit()
関数に渡します。
パケットを受信したときには、送信元を先頭バイトにし続くペイロードを格納したバッファsmplbuf_u8<128> buf
を生成し、出力用のシリアルパーサーserparser_attach pout
からシリアルに出力しています。
テスト用のコマンド
テストデータは必ずペースト機能を用いてターミナルに入力してください。入力にはタイムアウトがあるためです。
参考: TWE ProgrammerやTeraTermでのペーストはAlt+Vを用います。
入力の末尾にCR LFが必要です。
最初はCR LFが省略できるXで終わる系列を試してください。終端文字列が入力されない場合は、その系列は無視されます。
例
任意の子機宛に00112233
を送付します。
例
子機3番に対してAABBCC00112233
を送付します。
TWE Programmerのターミナル機能を用いて送付する場合は、Alt+Vキーを用いてペーストします。
最終更新