組み込み設計のmicroSDカードを使用しています。このカードは、SPI インターフェイスを使用してマイクロコントローラーに接続されます。以前に使用したすべてのカードで問題なく動作しましたが、新しいカードが初期化されなくなりました。カードはトランセンドの2GB microSDカード(TS2GUSD)です。
SPI モードに切り替えるための初期クロック トレインを送信した後、次の手順を実行します。
CMD0 (引数 0、CRC 0x95) -> 応答 0x01 -> OK
CMD8 (引数 0x000001AA、CRC 0x87) -> 応答 0x01 0x000001AA -> SDC V2+ カードであることを意味し、電圧範囲 2.7 V - 3.6 V がサポートされています -> OK
次に ACMD41 コマンドを送信する必要がありますが、CMD41 の前になければならない CMD55 (引数 0、CRC 0) を送信すると、応答 0x05 -> Illegal Command が返されます。CMD1 (MMC カード用) も送信しようとしましたが、同様の不正なコマンド応答が返されます。このコードは、私の Sandisk 2 GB microSD カードで問題なく動作します。
この問題を解決するにはどうすればよいですか?