STM32F439xx HAL User Manual
Functions
Input and Output operation functions
MMC Exported Functions

Data transfer functions. More...

Functions

HAL_StatusTypeDef HAL_MMC_ReadBlocks (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout)
 Reads block(s) from a specified address in a card.
HAL_StatusTypeDef HAL_MMC_WriteBlocks (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout)
 Allows to write block(s) to a specified address in a card.
HAL_StatusTypeDef HAL_MMC_ReadBlocks_IT (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks)
 Reads block(s) from a specified address in a card.
HAL_StatusTypeDef HAL_MMC_WriteBlocks_IT (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks)
 Writes block(s) to a specified address in a card.
HAL_StatusTypeDef HAL_MMC_ReadBlocks_DMA (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks)
 Reads block(s) from a specified address in a card.
HAL_StatusTypeDef HAL_MMC_WriteBlocks_DMA (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks)
 Writes block(s) to a specified address in a card.
HAL_StatusTypeDef HAL_MMC_Erase (MMC_HandleTypeDef *hmmc, uint32_t BlockStartAdd, uint32_t BlockEndAdd)
 Erases the specified memory area of the given MMC card.
void HAL_MMC_IRQHandler (MMC_HandleTypeDef *hmmc)
 This function handles MMC card interrupt request.
HAL_MMC_StateTypeDef HAL_MMC_GetState (MMC_HandleTypeDef *hmmc)
 return the MMC state
uint32_t HAL_MMC_GetError (MMC_HandleTypeDef *hmmc)
 Return the MMC error code.
__weak void HAL_MMC_TxCpltCallback (MMC_HandleTypeDef *hmmc)
 Tx Transfer completed callbacks.
__weak void HAL_MMC_RxCpltCallback (MMC_HandleTypeDef *hmmc)
 Rx Transfer completed callbacks.
__weak void HAL_MMC_ErrorCallback (MMC_HandleTypeDef *hmmc)
 MMC error callbacks.
__weak void HAL_MMC_AbortCallback (MMC_HandleTypeDef *hmmc)
 MMC Abort callbacks.

Detailed Description

Data transfer functions.

  ==============================================================================
                        ##### IO operation functions #####
  ==============================================================================  
  [..]
    This subsection provides a set of functions allowing to manage the data 
    transfer from/to MMC card.


Function Documentation

MMC Abort callbacks.

Parameters:
hmmcPointer MMC handle
Return values:
None

Definition at line 1678 of file stm32f4xx_hal_mmc.c.

Referenced by HAL_MMC_Abort_IT(), HAL_MMC_IRQHandler(), MMC_DMARxAbort(), and MMC_DMATxAbort().

HAL_StatusTypeDef HAL_MMC_Erase ( MMC_HandleTypeDef hmmc,
uint32_t  BlockStartAdd,
uint32_t  BlockEndAdd 
)

Erases the specified memory area of the given MMC card.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
BlockStartAddStart Block address
BlockEndAddEnd Block address
Return values:
HALstatus

Definition at line 1294 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, CAPACITY, HAL_MMC_CardInfoTypeDef::Class, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_LOCK_UNLOCK_FAILED, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_HandleTypeDef::MmcCard, and MMC_HandleTypeDef::State.

MMC error callbacks.

Parameters:
hmmcPointer MMC handle
Return values:
None

Definition at line 1663 of file stm32f4xx_hal_mmc.c.

Referenced by HAL_MMC_IRQHandler(), MMC_DMAError(), MMC_DMAReceiveCplt(), MMC_DMARxAbort(), and MMC_DMATxAbort().

uint32_t HAL_MMC_GetError ( MMC_HandleTypeDef hmmc)

Return the MMC error code.

Parameters:
hmmcPointer to a MMC_HandleTypeDef structure that contains the configuration information.
Return values:
MMCError Code

Definition at line 1623 of file stm32f4xx_hal_mmc.c.

References MMC_HandleTypeDef::ErrorCode.

return the MMC state

Parameters:
hmmcPointer to mmc handle
Return values:
HALstate

Definition at line 1612 of file stm32f4xx_hal_mmc.c.

References MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_ReadBlocks ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks,
uint32_t  Timeout 
)

Reads block(s) from a specified address in a card.

The Data transfer is managed by polling mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
pDatapointer to the buffer that will contain the received data
BlockAddBlock Address from where data is to be read
NumberOfBlocksNumber of MMC blocks to read
TimeoutSpecify timeout value
Return values:
HALstatus

Definition at line 494 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_GET_FLAG, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_GetTick(), HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_BUSY, HAL_MMC_ERROR_DATA_CRC_FAIL, HAL_MMC_ERROR_DATA_TIMEOUT, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_RX_OVERRUN, HAL_MMC_ERROR_TIMEOUT, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_READ_MULTIPLE_BLOCK, MMC_CONTEXT_READ_SINGLE_BLOCK, MMC_HandleTypeDef::MmcCard, and MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_ReadBlocks_DMA ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks 
)

Reads block(s) from a specified address in a card.

The Data transfer is managed by DMA mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
You could also check the DMA transfer process through the MMC Rx interrupt event.
Parameters:
hmmcPointer MMC handle
pDataPointer to the buffer that will contain the received data
BlockAddBlock Address from where data is to be read
NumberOfBlocksNumber of blocks to read.
Return values:
HALstatus

Definition at line 1061 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_DMA_ENABLE, __HAL_MMC_ENABLE_IT, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_DMA_Start_IT(), HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::hdmarx, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_DMA, MMC_CONTEXT_READ_MULTIPLE_BLOCK, MMC_CONTEXT_READ_SINGLE_BLOCK, MMC_DMAError(), MMC_DMAReceiveCplt(), MMC_HandleTypeDef::MmcCard, MMC_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.

HAL_StatusTypeDef HAL_MMC_ReadBlocks_IT ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks 
)

Reads block(s) from a specified address in a card.

The Data transfer is managed in interrupt mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
You could also check the IT transfer process through the MMC Rx interrupt event.
Parameters:
hmmcPointer to MMC handle
pDataPointer to the buffer that will contain the received data
BlockAddBlock Address from where data is to be read
NumberOfBlocksNumber of blocks to read.
Return values:
HALstatus

Definition at line 856 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_ENABLE_IT, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_IT, MMC_CONTEXT_READ_MULTIPLE_BLOCK, MMC_CONTEXT_READ_SINGLE_BLOCK, MMC_HandleTypeDef::MmcCard, MMC_HandleTypeDef::pRxBuffPtr, MMC_HandleTypeDef::RxXferSize, and MMC_HandleTypeDef::State.

Rx Transfer completed callbacks.

Parameters:
hmmcPointer MMC handle
Return values:
None

Definition at line 1648 of file stm32f4xx_hal_mmc.c.

Referenced by HAL_MMC_IRQHandler(), and MMC_DMAReceiveCplt().

Tx Transfer completed callbacks.

Parameters:
hmmcPointer to MMC handle
Return values:
None

Definition at line 1633 of file stm32f4xx_hal_mmc.c.

Referenced by HAL_MMC_IRQHandler().

HAL_StatusTypeDef HAL_MMC_WriteBlocks ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks,
uint32_t  Timeout 
)

Allows to write block(s) to a specified address in a card.

The Data transfer is managed by polling mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
pDatapointer to the buffer that will contain the data to transmit
BlockAddBlock Address where data will be written
NumberOfBlocksNumber of MMC blocks to write
TimeoutSpecify timeout value
Return values:
HALstatus

Definition at line 682 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_GET_FLAG, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_GetTick(), HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_BUSY, HAL_MMC_ERROR_DATA_CRC_FAIL, HAL_MMC_ERROR_DATA_TIMEOUT, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_TX_UNDERRUN, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_WRITE_MULTIPLE_BLOCK, MMC_CONTEXT_WRITE_SINGLE_BLOCK, MMC_HandleTypeDef::MmcCard, and MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_WriteBlocks_DMA ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks 
)

Writes block(s) to a specified address in a card.

The Data transfer is managed by DMA mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
You could also check the DMA transfer process through the MMC Tx interrupt event.
Parameters:
hmmcPointer to MMC handle
pDataPointer to the buffer that will contain the data to transmit
BlockAddBlock Address where data will be written
NumberOfBlocksNumber of blocks to write
Return values:
HALstatus

Definition at line 1179 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_DMA_ENABLE, __HAL_MMC_ENABLE_IT, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_DMA_Start_IT(), HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::hdmatx, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_DMA, MMC_CONTEXT_WRITE_MULTIPLE_BLOCK, MMC_CONTEXT_WRITE_SINGLE_BLOCK, MMC_DMAError(), MMC_DMATransmitCplt(), MMC_HandleTypeDef::MmcCard, MMC_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.

HAL_StatusTypeDef HAL_MMC_WriteBlocks_IT ( MMC_HandleTypeDef hmmc,
uint8_t *  pData,
uint32_t  BlockAdd,
uint32_t  NumberOfBlocks 
)

Writes block(s) to a specified address in a card.

The Data transfer is managed in interrupt mode.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
You could also check the IT transfer process through the MMC Tx interrupt event.
Parameters:
hmmcPointer to MMC handle
pDataPointer to the buffer that will contain the data to transmit
BlockAddBlock Address where data will be written
NumberOfBlocksNumber of blocks to write
Return values:
HALstatus

Definition at line 958 of file stm32f4xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_ENABLE_IT, BLOCKSIZE, CAPACITY, MMC_HandleTypeDef::Context, MMC_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_NONE, HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, MMC_HandleTypeDef::Instance, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_CONTEXT_IT, MMC_CONTEXT_WRITE_MULTIPLE_BLOCK, MMC_CONTEXT_WRITE_SINGLE_BLOCK, MMC_HandleTypeDef::MmcCard, MMC_HandleTypeDef::pTxBuffPtr, MMC_HandleTypeDef::State, and MMC_HandleTypeDef::TxXferSize.