マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
メモリーに空き容量がない場合にはどうなりますか?
uALFATでは空き容量がメモリー(USBメモリーまたはSDカード)にない場合には次のようになります。

・Uコマンド
空き容量の有無に関係なく初期化成功で!00が返ります。

・Kコマンド
!25が返ります。
空き容量がないことを示します。空き容量がある場合にはサイズを返します。

・ファイルの読み込み操作(Oコマンド及びRコマンド)
空き容量の有無に関係なく指定したファイルについて指定したサイズのデータを読み込みます。

・ファイルの書き込み操作(0コマンドWモード及びWコマンド)
OコマンドWモード及びWコマンドによる操作については空き容量に関係なく動作します。
空き容量がなくてもWコマンドによるファイルサイズ指定は可能です。

しかし、空き容量がない場合にはWコマンドで指定したサイズのデータを受信すると!25を返します。
また作成されたファイルサイズを示す $xxxxxxxx の戻り値はすべて0となり($00000000)作成されたファイルのサイズが0バイトであることを示します。
実際にはメモリー内にデータのない(0バイト)ファイルのみが作成されます。

※ただしファイルの実体を作成するスペースさえもない場合にはファイルも生成されません。

※Wコマンド実行後に、指定したサイズのデータを送信後、!25が返った場合にはデータはメモリーに書き込まれません。(空き容量がありません)

※OコマンドをAモードで実行している場合、FATの仕様上パソコンでは空き容量0バイトと表示されていても既存のデータには数バイト程度であれば書き込みができる場合があります。しかし容量が超過するとWモードがハングアップする可能性があります。Aモードでの実行時にはKコマンドで都度空き容量の確認をする方が確実です。Kコマンドで!25が返るような状態ではすでに空き容量がほぼ0になっています。またWindowsなどパソコンで確認すると0バイトと表示される状態です。Aモードではエラーコードが返らない場合がありますのでAモードを使用している場合で、メモリーが不足することが想定される使い方をする場合には予めKコマンドで空き容量を確認してからWコマンドを実行するようにしてください。


ファイルサイズ一杯まで使い切る可能性がある場合にはKコマンドで空き容量の取得をOコマンド実行前に実行して空き容量があることを確認したほうが確実です。


FAT16やFAT32のメモリーでは、空き容量の制限以外にもディレクトリ内に生成できるファイル数にも上限がありますので、ご注意ください。詳しくは下記を参照ください。

http://www.microtechnica.tv/faq/faq.cgi?kate=ALFAT&faq=15
オリジナル - FAQみたいです - 猫でいいです