- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マイコンでのmicroSD読み書き制御)
マイコンでのmicroSD読み書き制御
このQ&Aのポイント
- マイコンでmicroSDの読み書きをしているのですが、ファイルの中身が正常に書き込まれずに、一部のデータが重複していたり、ファイルの中に、本来は別のファイルとして作ったものが入ってしまっていることがあります。
- GHI社のuALFAT-FTを使ってmicroSDの読み書きを行っています。処理は周期的に行われ、データの書き込みの前に必要な手順を踏んでいます。
- GHI社の担当からは、ファイルを閉じる処理の後に待ち時間を入れる必要があると回答がありました。その理由は、uALFAT-FTはファイルの閉じ処理を完了したと応答するが、microSDカード側のファイルクローズ処理がまだ終わっていないということです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(1)本当でしょう。 SDカードは512バイトの転送データを受け終わってからフラッシュメモリに書き込むのでその時間が必要です、かつ外部へのBusyフラグが存在しない。 ただ資料を見ても具体的な時間については書かれているものを見たことがありません。(SDカードを書き込み直後に電源断の様な使用方を想定していない?) (2) フラッシュメモリの書き込み速度(100μS/byte)から考えると1Sec程度は最低必要かと思います。 本来はそれ以前の問題として書き込んだ情報を一旦読み出して正常書き込みの確認を行うべきでしょう。
お礼
ご回答ありがとうございます。 低消費電力を目指して、書き込みが終わったらSDの電源を切るようにしていますが、これは本来の使い方ではないのですね。 処理終了後も「待ち」が必要とのこと了解いたしました。 参考になりました。ありがとうございました。