※ ChatGPTを利用し、要約された質問です(原文:マイコンでのmicroSD読み書き制御)
マイコンでのmicroSD読み書き制御
このQ&Aのポイント
マイコンでmicroSDの読み書きをしているのですが、ファイルの中身が正常に書き込まれずに、一部のデータが重複していたり、ファイルの中に、本来は別のファイルとして作ったものが入ってしまっていることがあります。
GHI社のuALFAT-FTを使ってmicroSDの読み書きを行っています。処理は周期的に行われ、データの書き込みの前に必要な手順を踏んでいます。
GHI社の担当からは、ファイルを閉じる処理の後に待ち時間を入れる必要があると回答がありました。その理由は、uALFAT-FTはファイルの閉じ処理を完了したと応答するが、microSDカード側のファイルクローズ処理がまだ終わっていないということです。
マイコンでmicroSDの読み書きをしているのですが、ファイルの中身が正常に書き込まれずに、一部のデータが重複していたり、ファイルの中に、本来は別のファイルとして作ったものが入ってしまっていることがあります。
microSDの読み書きはGHI社のuALFAT-FTというものを使っています。処理としては、周期10分ごとに測定をしてから、そのデータを書くために1)uALFAT-FTのpower on, 2)file open, write, close, 3) power offをしています。
GHI社の担当に問題の件を尋ねると「ファイルを閉じる処理の後は、すぐに電源を切らずに待ち時間を持ってください。」とのことでした。
uALFAT-FTではファイルを閉じる処理を「完了した」時に、応答を返すのですが、その応答が出てから、さらに遅延を入れる必要があるとの回答でした。その理由としては、uALFAT-FT自体はファイルを閉じる処理が完了したが、microSDカード側のファイルクローズ処理がまだ終わっていないだろう、とのことでした。
質問は
1) microSDカードの処理が終わっていない(処理が遅れる)という回答は信用できるのでしょうか?
2) では、どのくらいの待ち(100msec? 1000msec?)を入れるべきなのでしょうか?
microSDの読み書きの際の関連資料などがあれば、ありがたいと思います。
お礼
ご回答ありがとうございます。 低消費電力を目指して、書き込みが終わったらSDの電源を切るようにしていますが、これは本来の使い方ではないのですね。 処理終了後も「待ち」が必要とのこと了解いたしました。 参考になりました。ありがとうございました。