SAM E70 初始化 SD 卡老是失败?记得先以低速发送 80 个时钟脉冲!以下是完整的初始化代码:
// SD卡SPI初始化(SAM E70)
bool SD_Init(void) {
// 配置SPI为低速模式(400kHz)
SPI_Init(SPI0, 400000);
// 发送80个时钟脉冲(至少74个)
for(int i = 0; i < 10; i++) {
SPI_WriteByte(0xFF); // 发送8个时钟
}
// 发送CMD0:复位SD卡
uint8_t response = SD_SendCommand(0, 0, 0x95);
if(response != 0x01) return false;
// 后续初始化步骤...
return true;
} |
|