cancel
Showing results for 
Search instead for 
Did you mean: 

SD card using SPI initialization stm32f303 issue with CMD0

alkuor
Associate II
Posted on November 30, 2016 at 07:02

I am sending the correct command and I can see it on the scope.However, I don't get 0x01 response(I keep getting 0xff) from SDcard(SDHC)(SanDisk Ultra 40MB/s ...16GB) I am using the following code:

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

1 REPLY 1
slimen
Senior
Posted on November 30, 2016 at 16:01

Hello,

Your code is not clear. Please, reformulate it using ''Format code block'' to get help.

You can refer to the working SPI examples with STM32CubeF3, this may help you in SPI initialization and configuration.

Regards