FlashAirのコマンド発行覚書2017年03月20日 23:48

iSDIOを利用してのコマンド発行の覚書。


コマンド発行手順は

1・CMD48にてシーケンスIDを取得
2・CMD49にてコマンド発行
3・CMD48にてコマンド実行結果のステータス取得
4・CMD48にてコマンドの実行結果取得

となる。

シーケンスIDは0444hから4バイト
コマンドのステータスは0448hから1バイト

コマンド実行はアドレス00hから512バイトのコマンドデータを書き込む。
コマンドデータの書式はここにある通り。

Size of iSDIO Command Write Dataは書き込むデータ全体の長さ
Length of Argument(No.1)はパディングを含まない引数の長さ。

Size of iSDIO Command Write Dataが512バイト以下の場合(たいていそうだと思うけど)
512バイトになるようにFFhを書き込み。
(読込の時と同じく必ず512バイト)
512バイト書き込んだ後はCRC2バイト(ダミーOKなのでFFh2バイトでOK)書き込み。

SendHTTPMessageByRegister(hostName, message)
SendHTTPSSLMessageByRegister(hostName, message)
でHTTPリクエスト発行できるけど、コマンド書き込み直後にステータス取りに行っても
結果は取れないので、数秒待機すること。

ステータスは03hが帰ってくればコマンド発行は成功。
00h→01hと変化するみたい。