512バイトの壁=クラスタ
先日、
waveファイルのヘッダにある 'data(固定文字列)'+DataSize(4バイト)+waveデータ…… からデータサイズを取得し、 次のデータのおおよその位置を特定しようとしましたが、 読み込みを失敗することが多々ありました。
と書いたのですが、原因が特定できました。
SDは512バイトを1ブロックとしており、
READ_BLK_MISALIGNが許可されていない限り(おおくのSDは許可されていない)SDへリードorライト命令するときに指定するアドレスが512の倍数
でなければならない
ということを忘れてました。
あはは。