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.