STM32L443xx HAL User Manual
Defines
MMC Exported Macros
MMC

macros to handle interrupts and specific clock configurations More...

Defines

#define __HAL_MMC_RESET_HANDLE_STATE(__HANDLE__)
 Reset MMC handle state.
#define __HAL_MMC_ENABLE(__HANDLE__)   __SDMMC_ENABLE((__HANDLE__)->Instance)
 Enable the MMC device.
#define __HAL_MMC_DISABLE(__HANDLE__)   __SDMMC_DISABLE((__HANDLE__)->Instance)
 Disable the MMC device.
#define __HAL_MMC_DMA_ENABLE(__HANDLE__)   __SDMMC_DMA_ENABLE((__HANDLE__)->Instance)
 Enable the SDMMC DMA transfer.
#define __HAL_MMC_DMA_DISABLE(__HANDLE__)   __SDMMC_DMA_DISABLE((__HANDLE__)->Instance)
 Disable the SDMMC DMA transfer.
#define __HAL_MMC_ENABLE_IT(__HANDLE__, __INTERRUPT__)   __SDMMC_ENABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__))
 Enable the MMC device interrupt.
#define __HAL_MMC_DISABLE_IT(__HANDLE__, __INTERRUPT__)   __SDMMC_DISABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__))
 Disable the MMC device interrupt.
#define __HAL_MMC_GET_FLAG(__HANDLE__, __FLAG__)   __SDMMC_GET_FLAG((__HANDLE__)->Instance, (__FLAG__))
 Check whether the specified MMC flag is set or not.
#define __HAL_MMC_CLEAR_FLAG(__HANDLE__, __FLAG__)   __SDMMC_CLEAR_FLAG((__HANDLE__)->Instance, (__FLAG__))
 Clear the MMC's pending flags.
#define __HAL_MMC_GET_IT(__HANDLE__, __INTERRUPT__)   __SDMMC_GET_IT((__HANDLE__)->Instance, (__INTERRUPT__))
 Check whether the specified MMC interrupt has occurred or not.
#define __HAL_MMC_CLEAR_IT(__HANDLE__, __INTERRUPT__)   __SDMMC_CLEAR_IT((__HANDLE__)->Instance, (__INTERRUPT__))
 Clear the MMC's interrupt pending bits.

Detailed Description

macros to handle interrupts and specific clock configurations


Define Documentation

#define __HAL_MMC_CLEAR_FLAG (   __HANDLE__,
  __FLAG__ 
)    __SDMMC_CLEAR_FLAG((__HANDLE__)->Instance, (__FLAG__))

Clear the MMC's pending flags.

Parameters:
__HANDLE__MMC Handle
__FLAG__specifies the flag to clear. This parameter can be one or a combination of the following values:
  • SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed)
  • SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed)
  • SDMMC_FLAG_CTIMEOUT: Command response timeout
  • SDMMC_FLAG_DTIMEOUT: Data timeout
  • SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error
  • SDMMC_FLAG_RXOVERR: Received FIFO overrun error
  • SDMMC_FLAG_CMDREND: Command response received (CRC check passed)
  • SDMMC_FLAG_CMDSENT: Command sent (no response required)
  • SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero)
  • SDMMC_FLAG_DHOLD: Data transfer Hold
  • SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed)
  • SDMMC_FLAG_DABORT: Data transfer aborted by CMD12
  • SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected
  • SDMMC_FLAG_SDIOIT: SD I/O interrupt received
  • SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received
  • SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout
  • SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion
  • SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure
  • SDMMC_FLAG_IDMATE: IDMA transfer error
  • SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete
Return values:
None

Definition at line 616 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_Abort(), HAL_MMC_Abort_IT(), HAL_MMC_ConfigWideBusOperation(), HAL_MMC_Erase(), HAL_MMC_GetCardCSD(), HAL_MMC_GetCardExtCSD(), HAL_MMC_InitCard(), HAL_MMC_IRQHandler(), HAL_MMC_ReadBlocks(), HAL_MMC_ReadBlocks_DMA(), HAL_MMC_ReadBlocks_IT(), HAL_MMC_WriteBlocks(), HAL_MMC_WriteBlocks_DMA(), HAL_MMC_WriteBlocks_IT(), MMC_DMAError(), MMC_DMAReceiveCplt(), and MMC_ReadExtCSD().

#define __HAL_MMC_CLEAR_IT (   __HANDLE__,
  __INTERRUPT__ 
)    __SDMMC_CLEAR_IT((__HANDLE__)->Instance, (__INTERRUPT__))

Clear the MMC's interrupt pending bits.

Parameters:
__HANDLE__MMC Handle
__INTERRUPT__specifies the interrupt pending bit to clear. This parameter can be one or a combination of the following values:
  • SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
  • SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
  • SDMMC_IT_CTIMEOUT: Command response timeout interrupt
  • SDMMC_IT_DTIMEOUT: Data timeout interrupt
  • SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt
  • SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt
  • SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt
  • SDMMC_IT_CMDSENT: Command sent (no response required) interrupt
  • SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt
  • SDMMC_IT_DHOLD: Data transfer Hold interrupt
  • SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt
  • SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt
  • SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt
  • SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt
  • SDMMC_IT_RXFIFOF: Receive FIFO full interrupt
  • SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt
  • SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt
  • SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt
  • SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt
  • SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt
  • SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt
  • SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt
  • SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt
Return values:
None

Definition at line 687 of file stm32l4xx_hal_mmc.h.

#define __HAL_MMC_DISABLE (   __HANDLE__)    __SDMMC_DISABLE((__HANDLE__)->Instance)

Disable the MMC device.

Return values:
None

Definition at line 453 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_InitCard().

#define __HAL_MMC_DISABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    __SDMMC_DISABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__))

Disable the MMC device interrupt.

Parameters:
__HANDLE__MMC Handle
__INTERRUPT__specifies the SDMMC interrupt sources to be disabled. This parameter can be one or a combination of the following values:
  • SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
  • SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
  • SDMMC_IT_CTIMEOUT: Command response timeout interrupt
  • SDMMC_IT_DTIMEOUT: Data timeout interrupt
  • SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt
  • SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt
  • SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt
  • SDMMC_IT_CMDSENT: Command sent (no response required) interrupt
  • SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt
  • SDMMC_IT_DHOLD: Data transfer Hold interrupt
  • SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt
  • SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt
  • SDMMC_IT_CMDACT: Command transfer in progress interrupt
  • SDMMC_IT_TXACT: Data transmit in progress interrupt
  • SDMMC_IT_RXACT: Data receive in progress interrupt
  • SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt
  • SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt
  • SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt
  • SDMMC_IT_RXFIFOF: Receive FIFO full interrupt
  • SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt
  • SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt
  • SDMMC_IT_TXDAVL: Data available in transmit FIFO interrupt
  • SDMMC_IT_RXDAVL: Data available in receive FIFO interrupt
  • SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt
  • SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt
  • SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt
  • SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt
  • SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt
  • SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt
  • SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt
Return values:
None

Definition at line 544 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_Abort(), HAL_MMC_Abort_IT(), HAL_MMC_IRQHandler(), and MMC_DMAError().

#define __HAL_MMC_DMA_DISABLE (   __HANDLE__)    __SDMMC_DMA_DISABLE((__HANDLE__)->Instance)

Disable the SDMMC DMA transfer.

Return values:
None

Definition at line 465 of file stm32l4xx_hal_mmc.h.

#define __HAL_MMC_DMA_ENABLE (   __HANDLE__)    __SDMMC_DMA_ENABLE((__HANDLE__)->Instance)

Enable the SDMMC DMA transfer.

Return values:
None

Definition at line 459 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_ReadBlocks_DMA(), and HAL_MMC_WriteBlocks_DMA().

#define __HAL_MMC_ENABLE (   __HANDLE__)    __SDMMC_ENABLE((__HANDLE__)->Instance)

Enable the MMC device.

Return values:
None

Definition at line 447 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_InitCard().

#define __HAL_MMC_ENABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    __SDMMC_ENABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__))

Enable the MMC device interrupt.

Parameters:
__HANDLE__MMC Handle
__INTERRUPT__specifies the SDMMC interrupt sources to be enabled. This parameter can be one or a combination of the following values:
  • SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
  • SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
  • SDMMC_IT_CTIMEOUT: Command response timeout interrupt
  • SDMMC_IT_DTIMEOUT: Data timeout interrupt
  • SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt
  • SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt
  • SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt
  • SDMMC_IT_CMDSENT: Command sent (no response required) interrupt
  • SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt
  • SDMMC_IT_DHOLD: Data transfer Hold interrupt
  • SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt
  • SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt
  • SDMMC_IT_CMDACT: Command transfer in progress interrupt
  • SDMMC_IT_TXACT: Data transmit in progress interrupt
  • SDMMC_IT_RXACT: Data receive in progress interrupt
  • SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt
  • SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt
  • SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt
  • SDMMC_IT_RXFIFOF: Receive FIFO full interrupt
  • SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt
  • SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt
  • SDMMC_IT_TXDAVL: Data available in transmit FIFO interrupt
  • SDMMC_IT_RXDAVL: Data available in receive FIFO interrupt
  • SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt
  • SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt
  • SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt
  • SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt
  • SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt
  • SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt
  • SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt
Return values:
None

Definition at line 505 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_ReadBlocks_DMA(), HAL_MMC_ReadBlocks_IT(), HAL_MMC_WriteBlocks_DMA(), HAL_MMC_WriteBlocks_IT(), and MMC_DMATransmitCplt().

#define __HAL_MMC_GET_FLAG (   __HANDLE__,
  __FLAG__ 
)    __SDMMC_GET_FLAG((__HANDLE__)->Instance, (__FLAG__))

Check whether the specified MMC flag is set or not.

Parameters:
__HANDLE__MMC Handle
__FLAG__specifies the flag to check. This parameter can be one of the following values:
  • SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed)
  • SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed)
  • SDMMC_FLAG_CTIMEOUT: Command response timeout
  • SDMMC_FLAG_DTIMEOUT: Data timeout
  • SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error
  • SDMMC_FLAG_RXOVERR: Received FIFO overrun error
  • SDMMC_FLAG_CMDREND: Command response received (CRC check passed)
  • SDMMC_FLAG_CMDSENT: Command sent (no response required)
  • SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero)
  • SDMMC_FLAG_DHOLD: Data transfer Hold
  • SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed)
  • SDMMC_FLAG_DABORT: Data transfer aborted by CMD12
  • SDMMC_FLAG_DPSMACT: Data path state machine active
  • SDMMC_FLAG_CPSMACT: Command path state machine active
  • SDMMC_FLAG_CMDACT: Command transfer in progress
  • SDMMC_FLAG_TXACT: Data transmit in progress
  • SDMMC_FLAG_RXACT: Data receive in progress
  • SDMMC_FLAG_TXFIFOHE: Transmit FIFO Half Empty
  • SDMMC_FLAG_RXFIFOHF: Receive FIFO Half Full
  • SDMMC_FLAG_TXFIFOF: Transmit FIFO full
  • SDMMC_FLAG_RXFIFOF: Receive FIFO full
  • SDMMC_FLAG_TXFIFOE: Transmit FIFO empty
  • SDMMC_FLAG_RXFIFOE: Receive FIFO empty
  • SDMMC_FLAG_BUSYD0: Inverted value of SDMMC_D0 line (Busy)
  • SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected
  • SDMMC_FLAG_TXDAVL: Data available in transmit FIFO
  • SDMMC_FLAG_RXDAVL: Data available in receive FIFO
  • SDMMC_FLAG_SDIOIT: SD I/O interrupt received
  • SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received
  • SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout
  • SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion
  • SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure
  • SDMMC_FLAG_IDMATE: IDMA transfer error
  • SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete
Return values:
Thenew state of MMC FLAG (SET or RESET).

Definition at line 587 of file stm32l4xx_hal_mmc.h.

Referenced by HAL_MMC_GetCardExtCSD(), HAL_MMC_IRQHandler(), HAL_MMC_ReadBlocks(), HAL_MMC_WriteBlocks(), and MMC_ReadExtCSD().

#define __HAL_MMC_GET_IT (   __HANDLE__,
  __INTERRUPT__ 
)    __SDMMC_GET_IT((__HANDLE__)->Instance, (__INTERRUPT__))

Check whether the specified MMC interrupt has occurred or not.

Parameters:
__HANDLE__MMC Handle
__INTERRUPT__specifies the SDMMC interrupt source to check. This parameter can be one of the following values:
  • SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
  • SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
  • SDMMC_IT_CTIMEOUT: Command response timeout interrupt
  • SDMMC_IT_DTIMEOUT: Data timeout interrupt
  • SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt
  • SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt
  • SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt
  • SDMMC_IT_CMDSENT: Command sent (no response required) interrupt
  • SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt
  • SDMMC_IT_DHOLD: Data transfer Hold interrupt
  • SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt
  • SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt
  • SDMMC_IT_CMDACT: Command transfer in progress interrupt
  • SDMMC_IT_TXACT: Data transmit in progress interrupt
  • SDMMC_IT_RXACT: Data receive in progress interrupt
  • SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt
  • SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt
  • SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt
  • SDMMC_IT_RXFIFOF: Receive FIFO full interrupt
  • SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt
  • SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt
  • SDMMC_IT_TXDAVL: Data available in transmit FIFO interrupt
  • SDMMC_IT_RXDAVL: Data available in receive FIFO interrupt
  • SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt
  • SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt
  • SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt
  • SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt
  • SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt
  • SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt
  • SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt
Return values:
Thenew state of MMC IT (SET or RESET).

Definition at line 655 of file stm32l4xx_hal_mmc.h.

#define __HAL_MMC_RESET_HANDLE_STATE (   __HANDLE__)
Value:
do {                                              \
                                                               (__HANDLE__)->State = HAL_MMC_STATE_RESET; \
                                                               (__HANDLE__)->MspInitCallback = NULL;       \
                                                               (__HANDLE__)->MspDeInitCallback = NULL;     \
                                                             } while(0)

Reset MMC handle state.

Parameters:
__HANDLE__: MMC handle.
Return values:
None

Definition at line 433 of file stm32l4xx_hal_mmc.h.