STM32H735xx HAL User Manual
Functions
SD Private Functions
SD | SD Exported Functions

Functions

static uint32_t SD_InitCard (SD_HandleTypeDef *hsd)
 Initializes the sd card.
static uint32_t SD_PowerON (SD_HandleTypeDef *hsd)
 Enquires cards about their operating voltage and configures clock controls and stores SD information that will be needed in future in the SD handle.
static uint32_t SD_SendSDStatus (SD_HandleTypeDef *hsd, uint32_t *pSDstatus)
 Send Status info command.
static uint32_t SD_SendStatus (SD_HandleTypeDef *hsd, uint32_t *pCardStatus)
 Returns the current card's status.
static uint32_t SD_WideBus_Enable (SD_HandleTypeDef *hsd)
 Enables the SDMMC wide bus mode.
static uint32_t SD_WideBus_Disable (SD_HandleTypeDef *hsd)
 Disables the SDMMC wide bus mode.
static uint32_t SD_FindSCR (SD_HandleTypeDef *hsd, uint32_t *pSCR)
 Finds the SD card SCR register value.
static void SD_PowerOFF (SD_HandleTypeDef *hsd)
 Turns the SDMMC output signals off.
static void SD_Write_IT (SD_HandleTypeDef *hsd)
 Wrap up writing in non-blocking mode.
static void SD_Read_IT (SD_HandleTypeDef *hsd)
 Wrap up reading in non-blocking mode.
static uint32_t SD_HighSpeed (SD_HandleTypeDef *hsd)
 Switches the SD card to High Speed mode.
__weak void HAL_SDEx_Read_DMADoubleBuf0CpltCallback (SD_HandleTypeDef *hsd)
 Read DMA Buffer 0 Transfer completed callbacks.
__weak void HAL_SDEx_Read_DMADoubleBuf1CpltCallback (SD_HandleTypeDef *hsd)
 Read DMA Buffer 1 Transfer completed callbacks.
__weak void HAL_SDEx_Write_DMADoubleBuf0CpltCallback (SD_HandleTypeDef *hsd)
 Write DMA Buffer 0 Transfer completed callbacks.
__weak void HAL_SDEx_Write_DMADoubleBuf1CpltCallback (SD_HandleTypeDef *hsd)
 Write DMA Buffer 1 Transfer completed callbacks.

Function Documentation

Read DMA Buffer 0 Transfer completed callbacks.

Parameters:
hsd,:SD handle
Return values:
None

Definition at line 3979 of file stm32h7xx_hal_sd.c.

Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), and HAL_SD_UnRegisterCallback().

Read DMA Buffer 1 Transfer completed callbacks.

Parameters:
hsd,:SD handle
Return values:
None

Definition at line 3994 of file stm32h7xx_hal_sd.c.

Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), and HAL_SD_UnRegisterCallback().

Write DMA Buffer 0 Transfer completed callbacks.

Parameters:
hsd,:SD handle
Return values:
None

Definition at line 4009 of file stm32h7xx_hal_sd.c.

Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), and HAL_SD_UnRegisterCallback().

Write DMA Buffer 1 Transfer completed callbacks.

Parameters:
hsd,:SD handle
Return values:
None

Definition at line 4024 of file stm32h7xx_hal_sd.c.

Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), and HAL_SD_UnRegisterCallback().

static uint32_t SD_FindSCR ( SD_HandleTypeDef hsd,
uint32_t *  pSCR 
) [static]

Finds the SD card SCR register value.

Parameters:
hsd,:Pointer to SD handle
pSCR,:pointer to the buffer that will contain the SCR value
Return values:
errorstate

Definition at line 3439 of file stm32h7xx_hal_sd.c.

References __HAL_SD_CLEAR_FLAG, __HAL_SD_GET_FLAG, HAL_GetTick(), HAL_SD_ERROR_DATA_CRC_FAIL, HAL_SD_ERROR_DATA_TIMEOUT, HAL_SD_ERROR_NONE, HAL_SD_ERROR_RX_OVERRUN, HAL_SD_ERROR_TIMEOUT, __SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::RelCardAdd, and __SD_HandleTypeDef::SdCard.

Referenced by SD_WideBus_Disable(), and SD_WideBus_Enable().

uint32_t SD_HighSpeed ( SD_HandleTypeDef hsd) [static]

Switches the SD card to High Speed mode.

This API must be used after "Transfer State"

Note:
This operation should be followed by the configuration of PLL to have SDMMCCK clock between 50 and 120 MHz
Parameters:
hsd,:SD handle
Return values:
SDCard error state

Definition at line 3607 of file stm32h7xx_hal_sd.c.

References __HAL_SD_CLEAR_FLAG, __HAL_SD_GET_FLAG, CARD_HIGH_SPEED, CARD_NORMAL_SPEED, HAL_SD_CardInfoTypeDef::CardSpeed, __SD_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SD_ERROR_NONE, HAL_SD_ERROR_REQUEST_NOT_APPLICABLE, HAL_SD_ERROR_TIMEOUT, HAL_SD_STATE_READY, __SD_HandleTypeDef::Instance, __SD_HandleTypeDef::SdCard, and __SD_HandleTypeDef::State.

Referenced by HAL_SD_ConfigSpeedBusOperation().

static uint32_t SD_InitCard ( SD_HandleTypeDef hsd) [static]
static void SD_PowerOFF ( SD_HandleTypeDef hsd) [static]

Turns the SDMMC output signals off.

Parameters:
hsd,:Pointer to SD handle
Return values:
None

Definition at line 3197 of file stm32h7xx_hal_sd.c.

References __SD_HandleTypeDef::Instance.

Referenced by HAL_SD_DeInit().

static uint32_t SD_PowerON ( SD_HandleTypeDef hsd) [static]

Enquires cards about their operating voltage and configures clock controls and stores SD information that will be needed in future in the SD handle.

Parameters:
hsd,:Pointer to SD handle
Return values:
errorstate

Definition at line 3028 of file stm32h7xx_hal_sd.c.

References CARD_SDHC_SDXC, CARD_SDSC, CARD_ULTRA_HIGH_SPEED, CARD_V1_X, CARD_V2_X, HAL_SD_CardInfoTypeDef::CardSpeed, HAL_SD_CardInfoTypeDef::CardType, HAL_SD_CardInfoTypeDef::CardVersion, HAL_GetTick(), HAL_SD_ERROR_INVALID_VOLTRANGE, HAL_SD_ERROR_NONE, HAL_SD_ERROR_TIMEOUT, HAL_SD_ERROR_UNSUPPORTED_FEATURE, __SD_HandleTypeDef::Init, __SD_HandleTypeDef::Instance, and __SD_HandleTypeDef::SdCard.

Referenced by HAL_SD_InitCard().

static void SD_Read_IT ( SD_HandleTypeDef hsd) [static]

Wrap up reading in non-blocking mode.

Parameters:
hsd,:pointer to a SD_HandleTypeDef structure that contains the configuration information.
Return values:
None

Definition at line 3535 of file stm32h7xx_hal_sd.c.

References __SD_HandleTypeDef::Instance, __SD_HandleTypeDef::pRxBuffPtr, and __SD_HandleTypeDef::RxXferSize.

Referenced by HAL_SD_IRQHandler().

static uint32_t SD_SendSDStatus ( SD_HandleTypeDef hsd,
uint32_t *  pSDstatus 
) [static]

Send Status info command.

Parameters:
hsd,:pointer to SD handle
pSDstatus,:Pointer to the buffer that will contain the SD card status SD Status register)
Return values:
errorstate

Definition at line 3210 of file stm32h7xx_hal_sd.c.

References __HAL_SD_CLEAR_FLAG, __HAL_SD_GET_FLAG, __SD_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SD_ERROR_DATA_CRC_FAIL, HAL_SD_ERROR_DATA_TIMEOUT, HAL_SD_ERROR_LOCK_UNLOCK_FAILED, HAL_SD_ERROR_NONE, HAL_SD_ERROR_RX_OVERRUN, HAL_SD_ERROR_TIMEOUT, __SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::RelCardAdd, and __SD_HandleTypeDef::SdCard.

Referenced by HAL_SD_GetCardStatus().

static uint32_t SD_SendStatus ( SD_HandleTypeDef hsd,
uint32_t *  pCardStatus 
) [static]

Returns the current card's status.

Parameters:
hsd,:Pointer to SD handle
pCardStatus,:pointer to the buffer that will contain the SD card status (Card Status register)
Return values:
errorstate

Definition at line 3316 of file stm32h7xx_hal_sd.c.

References HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, __SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::RelCardAdd, and __SD_HandleTypeDef::SdCard.

Referenced by HAL_SD_GetCardState().

static uint32_t SD_WideBus_Disable ( SD_HandleTypeDef hsd) [static]

Disables the SDMMC wide bus mode.

Parameters:
hsd,:Pointer to SD handle
Return values:
errorstate

Definition at line 3390 of file stm32h7xx_hal_sd.c.

References HAL_SD_ERROR_LOCK_UNLOCK_FAILED, HAL_SD_ERROR_NONE, HAL_SD_ERROR_REQUEST_NOT_APPLICABLE, __SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::RelCardAdd, SD_FindSCR(), and __SD_HandleTypeDef::SdCard.

Referenced by HAL_SD_ConfigWideBusOperation().

static uint32_t SD_WideBus_Enable ( SD_HandleTypeDef hsd) [static]

Enables the SDMMC wide bus mode.

Parameters:
hsd,:pointer to SD handle
Return values:
errorstate

Definition at line 3343 of file stm32h7xx_hal_sd.c.

References HAL_SD_ERROR_LOCK_UNLOCK_FAILED, HAL_SD_ERROR_NONE, HAL_SD_ERROR_REQUEST_NOT_APPLICABLE, __SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::RelCardAdd, SD_FindSCR(), and __SD_HandleTypeDef::SdCard.

Referenced by HAL_SD_ConfigWideBusOperation().

static void SD_Write_IT ( SD_HandleTypeDef hsd) [static]

Wrap up writing in non-blocking mode.

Parameters:
hsd,:pointer to a SD_HandleTypeDef structure that contains the configuration information.
Return values:
None

Definition at line 3570 of file stm32h7xx_hal_sd.c.

References __SD_HandleTypeDef::Instance, __SD_HandleTypeDef::pTxBuffPtr, and __SD_HandleTypeDef::TxXferSize.

Referenced by HAL_SD_IRQHandler().