STM32H735xx 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_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 554 of file stm32h7xx_hal_mmc.h.

Referenced by HAL_MMC_Abort(), HAL_MMC_Abort_IT(), HAL_MMC_AwakeDevice(), HAL_MMC_ConfigSecRemovalType(), HAL_MMC_ConfigWideBusOperation(), HAL_MMC_Erase(), HAL_MMC_EraseSequence(), 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_Sanitize(), HAL_MMC_SleepDevice(), HAL_MMC_WriteBlocks(), HAL_MMC_WriteBlocks_DMA(), HAL_MMC_WriteBlocks_IT(), 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 618 of file stm32h7xx_hal_mmc.h.

#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_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 487 of file stm32h7xx_hal_mmc.h.

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

#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_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 455 of file stm32h7xx_hal_mmc.h.

Referenced by HAL_MMC_ReadBlocks_DMA(), HAL_MMC_ReadBlocks_IT(), HAL_MMC_WriteBlocks_DMA(), HAL_MMC_WriteBlocks_IT(), HAL_MMCEx_ReadBlocksDMAMultiBuffer(), and HAL_MMCEx_WriteBlocksDMAMultiBuffer().

#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_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_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 525 of file stm32h7xx_hal_mmc.h.

Referenced by HAL_MMC_AwakeDevice(), HAL_MMC_EraseSequence(), HAL_MMC_GetCardExtCSD(), HAL_MMC_IRQHandler(), HAL_MMC_ReadBlocks(), HAL_MMC_Sanitize(), HAL_MMC_SleepDevice(), 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_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:
Thenew state of MMC IT (SET or RESET).

Definition at line 586 of file stm32h7xx_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 416 of file stm32h7xx_hal_mmc.h.