SDカード初期化コードの注意点

STM32CubeMXでSDカードの初期化コードが生成されますが、その際の注意点を記します。SDカードの初期化時にシリアル通信でのデータ受け渡しがあり、CPUのポートを一時的にシリアル通信に設定しなければなりません。STM32CubeMXの設定で最初からシリアル通信でポートを設定してしまうと通常SDアクセス時(今回は4ビットアクセス)関連のコードが生成され無くなってしまいます。
ダウンロードしたSTM32CubeMXプロジェクトで生成したソースコードを以下のように修正することで対応します。

main.cファイル内 MX_SDMMC1_SD_Init関数内 BusWideをSDMMC_BUS_WIDE_1Bとします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です