マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
Fコマンド(FHをクローズしないデータ書き込み)について
uALFAT搭載製品には、uALFATのコマンドでFコマンド(0x46)があります。
Fコマンドは、ファイルハンドル(FH)をクローズせずにWコマンドで書き込んだデータをメモリーデバイスに書き込むコマンドです。CコマンドはFHを閉じてデータを書き込むのに対して、FコマンドはFHを閉じずにFHのデータを書き込みますので、Fコマンド実行後は再び、OコマンドによってFHを開きなおさなくても、Wコマンドから始められるため、コマンドの送信手順が減ります。
また、Fコマンド実行後に書き込まれたデータは、すでにデータとしてメモリデバイスに書き込まれていますので、予期しない電源切断があってもFコマンド実行前までのデータは書き込まれていますのでデータの保護にもつながります。
FHのクローズはCコマンドで行うことができます。

※本コマンドはuALFAT Ver.3.13以降で使用できます。


■Fコマンド(0x46)

コマンド形式:F{sp}FH{cr}

引数:{sp}はスペース(0x20)、FHはファイルハンドル値(0〜3)、{cr}はキャリッジリターン(0x0D)

例:ファイルハンドル1のデータをメモリーデバイスにフラッシュする

F{sp}1{cr}

戻り値:ACK(正常完了)は!00です。!00以外の場合はエラーです。

補足:FコマンドでデータをフラッシュするとFH内のデータはメモリデバイスに書き込まれFHの中身はすべてなくなります。同じファイルにデータを追記したい場合には、Wコマンドから実行します。(FHは閉じられていませんのでOコマンドは実行しません)

・1つのファイルにデータを追記していく場合のコマンド例
※{cr}と{sp}は省略して記載しています。

I //メモリデバイス初期化
→!00確認

O 2W>TEST.TXT //FH2にTEST.TXTを新規作成
→!00確認

W 2>64 //FH2に100バイトのデータ書き込みを指定
→!00確認

・・・・・・・100バイトのデータ・・・・・

→$00000064 及び !00確認

F 2 //FH2のデータをフラッシュ
→!00確認

---------再度100バイトのデータを書き込む場合-------

W 2>64 //FH2に100バイトのデータ書き込みを指定
→!00確認

・・・・・・・100バイトのデータ・・・・・

→$00000064 及び !00確認

C 2 //FH2をクローズ

もしまだ同じFHにデータを書き込む場合にはCコマンドでFHをクローズせずにFコマンドでデータをフラッシュして、Wコマンドから繰り返し実行します。最後にCコマンドでFHをクローズしてください。

※原則としてCコマンドでFHをクローズした後でないと、メモリデバイスの電源切断後のデータ書き込みは保証されません。
オリジナル - FAQみたいです - 猫でいいです