stm32plusでSDIO,FAT32ファイルシステムへのアクセス

stm32plusでSDIO,FAT32ファイルシステムへのアクセス

Xiphosuraにはログ取り用にmicroSDカードスロットを搭載しています. stm32plusを使うと,STM32のSDIOペリフェラルの初期化が簡単になるほか,ファイルシステムへのアクセスも非常に楽になるのですが,楽になりすぎて学びがないのがちょっと難点です. 何にせよ便利なので使ってみました.

内容としては以下のようにするだけでおっけーです(便利…).

FileSystem *fs;
NullTimeProvider timeProvider;
SdioDmaSdCard *sdcard = new SdioDmaSdCard; // SDIOの初期化が自動的に行われる
if(errorProvider.hasError()) error();

if(!FileSystem::getInstance(*sdcard,timeProvider,fs)) error(); // ファイルシステムの取得

FileInformation *info;
// testという名前のファイルの情報を取得.ファイルが存在すれば{}の中身が実行される.
if(_fs->getFileInformation("test",info)) {
    File *file;
    if(!_fs->openFile("test",file)) error(); // ファイルオープン
    if(!file->write("Hello World",11)) error(); // ファイルに "Hello World" と書き込み
    delete file;
}
else error();
delete info;
delete fs;

参考になりそうなサンプルコード:

Share Comments