MG32F157 Standard Peripherals Firmware Library
Functions
SDIO_StdPeriph_Functions

Functions

void SDIO_DeInit (SDIO_TypeDef *SDIOx)
 Deinitializes the SDIOx peripheral registers to their default reset values. More...
 
void SDIO_Init (SDIO_TypeDef *SDIOx, SDIO_InitTypeDef *SDIO_InitStruct)
 Initializes the SDIO according to the specified parameters in the SDIO_InitTypeDef and create the associated handle. More...
 
void SDIO_ConfigBusWidth (SDIO_TypeDef *SDIOx, uint32_t BusWidth)
 Configure the width of the SDIO data bus. More...
 
uint32_t SDIO_ReadFIFO (SDIO_TypeDef *SDIOx)
 Read data (word) from Rx FIFO in blocking mode (polling) More...
 
void SDIO_WriteFIFO (SDIO_TypeDef *SDIOx, uint32_t *pWriteData)
 Write data (word) to Tx FIFO in blocking mode (polling) More...
 
void SDIO_PowerON (SDIO_TypeDef *SDIOx)
 Set SDIO Power state to ON. More...
 
void SDIO_PowerOFF (SDIO_TypeDef *SDIOx)
 Set SDIO Power state to OFF. More...
 
uint32_t SDIO_GetPower (SDIO_TypeDef *SDIOx)
 Get SDIO Power state. More...
 
void SDIO_ClockCmd (SDIO_TypeDef *SDIOx, FunctionalState NewState)
 Enables or disables the SDIO Clock. More...
 
void SDIO_ClockUpdate (SDIO_TypeDef *SDIOx)
 Update the SDIO Clock. More...
 
void SDIO_ControlReset (SDIO_TypeDef *SDIOx)
 Reset the SDIO Controller. More...
 
void SDIO_DMACmd (SDIO_TypeDef *SDIOx, FunctionalState NewState)
 Enables or disables the SDIO DMA request. More...
 
void SDIO_ITConfig (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT, FunctionalState NewState)
 Enables or disables the SDIO interrupts. More...
 
FlagStatus SDIO_GetFlagStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_FLAG)
 Checks whether the specified SDIO flag is set or not. More...
 
void SDIO_ClearFlagStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_FLAG)
 Clears the SDIO's pending flags. More...
 
ITStatus SDIO_GetITStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT)
 Checks whether the specified SDIO interrupt has occurred or not. More...
 
void SDIO_ClearITPendingBit (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT)
 Clears the SDIO's interrupt pending bits. More...
 
void SDIO_SendCommand (SDIO_TypeDef *SDIOx, SDIO_CmdInitTypeDef *Command)
 Configure the SDIO command path according to the specified parameters in SDIO_CmdInitTypeDef structure and send the command. More...
 
uint8_t SDIO_GetCommandResponse (SDIO_TypeDef *SDIOx)
 Return the command index of last command for which response received. More...
 
uint32_t SDIO_GetResponse (SDIO_TypeDef *SDIOx, uint32_t Response)
 Return the response received from the card for the last command. More...
 
void SDIO_ConfigData (SDIO_TypeDef *SDIOx, SDIO_DataInitTypeDef *Data)
 Configure the SDIO data path according to the specified parameters in the SDIO_DataInitTypeDef. More...
 

Detailed Description

Function Documentation

◆ SDIO_ClearFlagStatus()

void SDIO_ClearFlagStatus ( SDIO_TypeDef SDIOx,
uint32_t  SDIO_FLAG 
)

Clears the SDIO's pending flags.

Parameters
SDIOxPointer to SDIO register base
SDIO_FLAGspecifies the flag to clear. This parameter can be one or a combination of the following values:
  • SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed).
  • SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed).
  • SDIO_FLAG_CTIMEOUT: Command response timeout.
  • SDIO_FLAG_DTIMEOUT: Data timeout.
  • SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error.
  • SDIO_FLAG_RXOVERR: Received FIFO overrun error.
  • SDIO_FLAG_CMDREND: Command response received (CRC check passed).
  • SDIO_FLAG_CMDSENT: Command sent (no response required).
  • SDIO_FLAG_DATAEND: Data end (data counter, SDIDCOUNT, is zero).
  • SDIO_FLAG_DBCKEND: Data block sent/received (CRC check passed).
  • SDIO_FLAG_SDIOIT: SD I/O interrupt received.
Returns
None

◆ SDIO_ClearITPendingBit()

void SDIO_ClearITPendingBit ( SDIO_TypeDef SDIOx,
uint32_t  SDIO_IT 
)

Clears the SDIO's interrupt pending bits.

Parameters
SDIOxPointer to SDIO register base.
SDIO_ITspecifies the interrupt pending bit to clear. This parameter can be one or a combination of the following values:
  • SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt.
  • SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt.
  • SDIO_IT_CTIMEOUT: Command response timeout interrupt.
  • SDIO_IT_DTIMEOUT: Data timeout interrupt.
  • SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt.
  • SDIO_IT_RXOVERR: Received FIFO overrun error interrupt.
  • SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt.
  • SDIO_IT_CMDSENT: Command sent (no response required) interrupt.
  • SDIO_IT_DATAEND: Data end (data counter, SDIO_DCOUNT, is zero) interrupt.
  • SDIO_IT_SDIOIT: SD I/O interrupt received interrupt.
Returns
None

◆ SDIO_ClockCmd()

void SDIO_ClockCmd ( SDIO_TypeDef SDIOx,
FunctionalState  NewState 
)

Enables or disables the SDIO Clock.

Parameters
SDIOxPointer to SDIO register base
NewStatenew state of the SDIO Clock. This parameter can be: ENABLE or DISABLE.
Returns
None

◆ SDIO_ClockUpdate()

void SDIO_ClockUpdate ( SDIO_TypeDef SDIOx)

Update the SDIO Clock.

Parameters
SDIOxPointer to SDIO register base
Returns
None

◆ SDIO_ConfigBusWidth()

void SDIO_ConfigBusWidth ( SDIO_TypeDef SDIOx,
uint32_t  BusWidth 
)

Configure the width of the SDIO data bus.

Parameters
SDIOxPointer to SDIO register base
BusWidthSDIO data bus width
Returns
None

◆ SDIO_ConfigData()

void SDIO_ConfigData ( SDIO_TypeDef SDIOx,
SDIO_DataInitTypeDef Data 
)

Configure the SDIO data path according to the specified parameters in the SDIO_DataInitTypeDef.

Parameters
SDIOxPointer to SDIO register base
Datapointer to a SDIO_DataInitTypeDef structure that contains the configuration information for the SDIO data.
Returns
None

◆ SDIO_ControlReset()

void SDIO_ControlReset ( SDIO_TypeDef SDIOx)

Reset the SDIO Controller.

Parameters
SDIOxPointer to SDIO register base
Returns
None

◆ SDIO_DeInit()

void SDIO_DeInit ( SDIO_TypeDef SDIOx)

Deinitializes the SDIOx peripheral registers to their default reset values.

Parameters
SDIOxPointer to selected SDIO peripheral. This parameter can be one of the following values: SDIO.
Returns
None

◆ SDIO_DMACmd()

void SDIO_DMACmd ( SDIO_TypeDef SDIOx,
FunctionalState  NewState 
)

Enables or disables the SDIO DMA request.

Parameters
SDIOxPointer to SDIO register base
NewStatenew state of the selected SDIO DMA request. This parameter can be: ENABLE or DISABLE.
Returns
None

◆ SDIO_GetCommandResponse()

uint8_t SDIO_GetCommandResponse ( SDIO_TypeDef SDIOx)

Return the command index of last command for which response received.

Parameters
SDIOxPointer to SDIO register base
Returns
Command index of the last command response received

◆ SDIO_GetFlagStatus()

FlagStatus SDIO_GetFlagStatus ( SDIO_TypeDef SDIOx,
uint32_t  SDIO_FLAG 
)

Checks whether the specified SDIO flag is set or not.

Parameters
SDIOxPointer to SDIO register base
SDIO_FLAGspecifies the flag to check. This parameter can be one of the following values:
  • SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed).
  • SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed).
  • SDIO_FLAG_CTIMEOUT: Command response timeout.
  • SDIO_FLAG_DTIMEOUT: Data timeout.
  • SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error.
  • SDIO_FLAG_RXOVERR: Received FIFO overrun error.
  • SDIO_FLAG_CMDREND: Command response received (CRC check passed).
  • SDIO_FLAG_CMDSENT: Command sent (no response required).
  • SDIO_FLAG_DATAEND: Data end (data counter, SDIDCOUNT, is zero).
  • SDIO_FLAG_DBCKEND: Data block sent/received (CRC check passed).
  • SDIO_FLAG_CMDACT: Command transfer in progress.
  • SDIO_FLAG_TXACT: Data transmit in progress.
  • SDIO_FLAG_RXACT: Data receive in progress.
  • SDIO_FLAG_TXFIFOHE: Transmit FIFO Half Empty.
  • SDIO_FLAG_RXFIFOHF: Receive FIFO Half Full.
  • SDIO_FLAG_TXFIFOF: Transmit FIFO full.
  • SDIO_FLAG_RXFIFOF: Receive FIFO full.
  • SDIO_FLAG_TXFIFOE: Transmit FIFO empty.
  • SDIO_FLAG_RXFIFOE: Receive FIFO empty.
  • SDIO_FLAG_TXDAVL: Data available in transmit FIFO.
  • SDIO_FLAG_RXDAVL: Data available in receive FIFO.
  • SDIO_FLAG_SDIOIT: SD I/O interrupt received.
Returns
The new state of SDIO_FLAG (SET or RESET).

◆ SDIO_GetITStatus()

ITStatus SDIO_GetITStatus ( SDIO_TypeDef SDIOx,
uint32_t  SDIO_IT 
)

Checks whether the specified SDIO interrupt has occurred or not.

Parameters
SDIOxPointer to SDIO register base
SDIO_ITspecifies the SDIO interrupt source to check. This parameter can be one of the following values:
  • SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt.
  • SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt.
  • SDIO_IT_CTIMEOUT: Command response timeout interrupt.
  • SDIO_IT_DTIMEOUT: Data timeout interrupt.
  • SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt.
  • SDIO_IT_RXOVERR: Received FIFO overrun error interrupt.
  • SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt.
  • SDIO_IT_CMDSENT: Command sent (no response required) interrupt.
  • SDIO_IT_DATAEND: Data end (data counter, SDIDCOUNT, is zero) interrupt.
  • SDIO_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt.
  • SDIO_IT_CMDACT: Command transfer in progress interrupt.
  • SDIO_IT_TXACT: Data transmit in progress interrupt.
  • SDIO_IT_RXACT: Data receive in progress interrupt.
  • SDIO_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt.
  • SDIO_IT_RXFIFOHF: Receive FIFO Half Full interrupt.
  • SDIO_IT_TXFIFOF: Transmit FIFO full interrupt.
  • SDIO_IT_RXFIFOF: Receive FIFO full interrupt.
  • SDIO_IT_TXFIFOE: Transmit FIFO empty interrupt.
  • SDIO_IT_RXFIFOE: Receive FIFO empty interrupt.
  • SDIO_IT_TXDAVL: Data available in transmit FIFO interrupt.
  • SDIO_IT_RXDAVL: Data available in receive FIFO interrupt.
  • SDIO_IT_SDIOIT: SD I/O interrupt received interrupt.
Returns
The new state of SDIO_IT (SET or RESET).

◆ SDIO_GetPower()

uint32_t SDIO_GetPower ( SDIO_TypeDef SDIOx)

Get SDIO Power state.

Parameters
SDIOxPointer to SDIO register base
Returns
Power status of the controller. The returned value can be one of the following values:
  • 0x00: Power OFF
  • 0x02: Power UP
  • 0x03: Power ON

◆ SDIO_GetResponse()

uint32_t SDIO_GetResponse ( SDIO_TypeDef SDIOx,
uint32_t  Response 
)

Return the response received from the card for the last command.

Parameters
SDIOxPointer to SDIO register base
ResponseSpecifies the SDIO response register. This parameter can be one of the following values:
  • SDIO_RESP1: Response Register 0
  • SDIO_RESP2: Response Register 1
  • SDIO_RESP3: Response Register 2
  • SDIO_RESP4: Response Register 3
Returns
The Corresponding response register value

◆ SDIO_Init()

void SDIO_Init ( SDIO_TypeDef SDIOx,
SDIO_InitTypeDef SDIO_InitStruct 
)

Initializes the SDIO according to the specified parameters in the SDIO_InitTypeDef and create the associated handle.

Parameters
SDIOxPointer to SDIO register base.
SDIO_InitStructSDIO initialization structure.
Returns
None

◆ SDIO_ITConfig()

void SDIO_ITConfig ( SDIO_TypeDef SDIOx,
uint32_t  SDIO_IT,
FunctionalState  NewState 
)

Enables or disables the SDIO interrupts.

Parameters
SDIOxPointer to SDIO register base
SDIO_ITspecifies the SDIO interrupt sources to be enabled or disabled. This parameter can be one or a combination of the following values:
  • SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt.
  • SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt.
  • SDIO_IT_CTIMEOUT: Command response timeout interrupt.
  • SDIO_IT_DTIMEOUT: Data timeout interrupt.
  • SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt.
  • SDIO_IT_RXOVERR: Received FIFO overrun error interrupt.
  • SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt.
  • SDIO_IT_CMDSENT: Command sent (no response required) interrupt.
  • SDIO_IT_DATAEND: Data end (data counter, SDIDCOUNT, is zero) interrupt.
  • SDIO_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt.
  • SDIO_IT_CMDACT: Command transfer in progress interrupt.
  • SDIO_IT_TXACT: Data transmit in progress interrupt.
  • SDIO_IT_RXACT: Data receive in progress interrupt.
  • SDIO_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt.
  • SDIO_IT_RXFIFOHF: Receive FIFO Half Full interrupt.
  • SDIO_IT_TXFIFOF: Transmit FIFO full interrupt.
  • SDIO_IT_RXFIFOF: Receive FIFO full interrupt.
  • SDIO_IT_TXFIFOE: Transmit FIFO empty interrupt.
  • SDIO_IT_RXFIFOE: Receive FIFO empty interrupt.
  • SDIO_IT_TXDAVL: Data available in transmit FIFO interrupt.
  • SDIO_IT_RXDAVL: Data available in receive FIFO interrupt.
  • SDIO_IT_SDIOIT: SD I/O interrupt received interrupt.
NewStatenew state of the selected SDIO DMA request. This parameter can be: ENABLE or DISABLE.
Returns
None

◆ SDIO_PowerOFF()

void SDIO_PowerOFF ( SDIO_TypeDef SDIOx)

Set SDIO Power state to OFF.

Parameters
SDIOxPointer to SDIO register base
Returns
HAL status

◆ SDIO_PowerON()

void SDIO_PowerON ( SDIO_TypeDef SDIOx)

Set SDIO Power state to ON.

Parameters
SDIOxPointer to SDIO register base
Returns
HAL status

◆ SDIO_ReadFIFO()

uint32_t SDIO_ReadFIFO ( SDIO_TypeDef SDIOx)

Read data (word) from Rx FIFO in blocking mode (polling)

Parameters
SDIOxPointer to SDIO register base
Returns
SDIO FIFO data

◆ SDIO_SendCommand()

void SDIO_SendCommand ( SDIO_TypeDef SDIOx,
SDIO_CmdInitTypeDef Command 
)

Configure the SDIO command path according to the specified parameters in SDIO_CmdInitTypeDef structure and send the command.

Parameters
SDIOxPointer to SDIO register base.
Commandpointer to a SDIO_CmdInitTypeDef structure that contains the configuration information for the SDIO command.
Returns
None

◆ SDIO_WriteFIFO()

void SDIO_WriteFIFO ( SDIO_TypeDef SDIOx,
uint32_t *  pWriteData 
)

Write data (word) to Tx FIFO in blocking mode (polling)

Parameters
SDIOxPointer to SDIO register base
pWriteDatapointer to data to write
Returns
None