SD-карта с использованием инициализации SPI stm32f303 проблема с CMD0

Я отправляю правильную команду и вижу ее в области. Однако я не получаю ответ 0x01 (я получаю 0xff) от SD-карты (SDHC)(SanDisk Ultra 40 МБ / с...16 ГБ). Я использую следующий код:

uint8_t cmd0[6]={0x40,0x00,0x00,0x00,0x00,0x95};
uint8_t dumb=0xff;
FATFS_CS_HIGH;
for (int i = 0; i < 10; i++) {
   HAL_SPI_Transmit(&hspi1, &dumb, 1, 10);
   while (HAL_SPI_GetState(&hspi1) != HAL_SPI_STATE_READY);
}

FATFS_CS_LOW;

HAL_SPI_Transmit(&hspi1, cmd0, 6, 10);
while (HAL_SPI_GetState(&hspi1) != HAL_SPI_STATE_READY);

for (int i = 0; i < 10; i++) {
   HAL_SPI_Transmit(&hspi1, &dumb, 1, 10);
   while (HAL_SPI_GetState(&hspi1) != HAL_SPI_STATE_READY);
}
HAL_SPI_Receive(&hspi1, &c, 1, 10);// I keep getting 0xff

Вот конфигурация, которую я использую для SPI от cubeMX SPI от cubeMX

0 ответов

Другие вопросы по тегам