2017年10月05日

FlashAir W-04の新FWのserial関数(UART通信機能)の使い方

FlashAir W-04の新ファームウェアに追加されたserial関数(UART通信機能)の使い方の解析ができました。
なお、関係ないですがprint文が1回あたり300msほど掛かるようになっています。
リアルタイムに出力が見える反面、かなり遅いです。

初期化

fa.serial("init")

戻り値は常にnil
115200bpsに初期化される。

2018/06/30追記
ファームウェアバージョンW4.00.03においては、ボーレートの変更ができるようになっている

fa.serial("init",9600)

300bps〜921600bpsまで確認した。1bps単位で通信できる模様?
9600bpsや31250bpsでも動作する模様。

開放?

fa.serial("deinit")

未初期化状態に戻る?
戻り値は常にnil


送信

fa.serial("write","Hello World")
fa.serial("write","Hello World",11) --送信バイト数指定?
fa.serial("write",0xAA)

--2018/06/30追記。テーブルも行ける
dat = {0x0D,0x0A}
fa.serial("write",dat)

戻り値は常にnil

受信

x = fa.serial("read")

バッファにデータが有ると、1Byteを数値として返す
データがない時はnil
端子が開放されていると255を返すことがある

バッファの長さは14Byte

速度: 115200bps (W4.00.03では変更可)
8bit 1stop

Tx: D0
Rx: CMD


サンプル

fa.serial("init")
print(fa.serial("write","Hello World"))
s=""
for i=0,16 do
x = fa.serial("read")
if(x ~= nil)then
s = s .. string.format("%c",x)
end
end
print(s)
print("OK")
posted by gpsnmeajp at 18:56| Comment(0) | TrackBack(0) | メール投稿
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/181199708
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック