MSP430F2013でSDを制御していて気付いたことがあります。
1度目の初期化で必ず失敗します。
それなら成功するまで何度も命令を送ればよいのですが
CMD0(成功)
ACMD41(成功)
…
と、レスポンスを確認する限りでは問題は無いように見えるのです。
ところが
CMD25(Multiple Block Write)を実行するとレスポンスは問題ないのですが、書き込みをしてくれない。
慌てて、もう一度初期化(CMD0→ACMD41)をすると何事も無かったかのように起動する。
という訳で、初期化ルーチンを2周するようにプログラムしているわけですが、原因がわからないのに経験だけでコードを書く自分が嫌w