SDFileSystem::disk_initialize problem ()
SDカードを接続していない状態でSDFileSystemでマウントした場所にあるファイルを開こうとすると、mbedがフリーズすることがありました。 調べてみたらSDFileSystem::disk_initializeのエラーチェックが抜けてました。
SDFileSystem.cppにチェックを追加すると直ります。
int SDFileSystem::disk_initialize() {
int i = initialise_card();
//<add>
if(i==SDCARD_FAIL){
return 1;
}
//</add>
debug_if(SD_DBG, "init card = %d\n", i);
_sectors = _sd_sectors();
// Set block length to 512 (CMD16)
if (_cmd(16, 512) != 0) {
debug("Set 512-byte block timed out\n");
return 1;
}
_spi.frequency(1000000); // Set to 1MHz for data transfer
return 0;
}
Please log in to post comments.
