STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
Data transfer functions. More...
Functions | |
HAL_StatusTypeDef | HAL_SD_ReadBlocks (SD_HandleTypeDef *hsd, 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. | |
HAL_StatusTypeDef | HAL_SD_WriteBlocks (SD_HandleTypeDef *hsd, 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. | |
HAL_StatusTypeDef | HAL_SD_Erase (SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd) |
Erases the specified memory area of the given SD card. | |
HAL_StatusTypeDef | HAL_SD_ReadBlocks_IT (SD_HandleTypeDef *hsd, 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. | |
HAL_StatusTypeDef | HAL_SD_WriteBlocks_IT (SD_HandleTypeDef *hsd, 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. | |
HAL_StatusTypeDef | HAL_SD_ReadBlocks_DMA (SD_HandleTypeDef *hsd, 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. | |
HAL_StatusTypeDef | HAL_SD_WriteBlocks_DMA (SD_HandleTypeDef *hsd, 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. | |
void | HAL_SD_IRQHandler (SD_HandleTypeDef *hsd) |
This function handles SD card interrupt request. | |
void | HAL_SD_TxCpltCallback (SD_HandleTypeDef *hsd) |
Tx Transfer completed callbacks. | |
void | HAL_SD_RxCpltCallback (SD_HandleTypeDef *hsd) |
Rx Transfer completed callbacks. | |
void | HAL_SD_ErrorCallback (SD_HandleTypeDef *hsd) |
SD error callbacks. | |
void | HAL_SD_AbortCallback (SD_HandleTypeDef *hsd) |
SD Abort callbacks. | |
HAL_SD_StateTypeDef | HAL_SD_GetState (SD_HandleTypeDef *hsd) |
return the SD state | |
uint32_t | HAL_SD_GetError (SD_HandleTypeDef *hsd) |
Return the SD error code. | |
Data transfer functions.
============================================================================== ##### IO operation functions ##### ============================================================================== [..] This subsection provides a set of functions allowing to manage the data transfer from/to SD card.
HAL_StatusTypeDef HAL_SD_ReadBlocks | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks, | ||
uint32_t | Timeout ) |
#include <stm32f4xx_hal_sd.h>
Reads block(s) from a specified address in a card. The Data transfer is managed by polling mode.
hsd | Pointer to SD handle |
pData | pointer to the buffer that will contain the received data |
BlockAdd | Block Address from where data is to be read |
NumberOfBlocks | Number of SD blocks to read |
Timeout | Specify timeout value |
HAL | status |
Definition at line 570 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_GET_FLAG, BLOCKSIZE, CARD_SDHC_SDXC, CARD_SECURED, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, SD_HandleTypeDef::ErrorCode, HAL_ERROR, HAL_GetTick(), HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_BUSY, HAL_SD_ERROR_DATA_CRC_FAIL, HAL_SD_ERROR_DATA_TIMEOUT, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_ERROR_RX_OVERRUN, HAL_SD_ERROR_TIMEOUT, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, HAL_TIMEOUT, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_CONTEXT_NONE, SD_CONTEXT_READ_MULTIPLE_BLOCK, SD_CONTEXT_READ_SINGLE_BLOCK, SD_HandleTypeDef::SdCard, and SD_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SD_WriteBlocks | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks, | ||
uint32_t | Timeout ) |
#include <stm32f4xx_hal_sd.h>
Allows to write block(s) to a specified address in a card. The Data transfer is managed by polling mode.
hsd | Pointer to SD handle |
pData | pointer to the buffer that will contain the data to transmit |
BlockAdd | Block Address where data will be written |
NumberOfBlocks | Number of SD blocks to write |
Timeout | Specify timeout value |
HAL | status |
Definition at line 789 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_GET_FLAG, BLOCKSIZE, CARD_SDHC_SDXC, CARD_SECURED, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, SD_HandleTypeDef::ErrorCode, HAL_ERROR, HAL_GetTick(), HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_BUSY, HAL_SD_ERROR_DATA_CRC_FAIL, HAL_SD_ERROR_DATA_TIMEOUT, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_ERROR_TX_UNDERRUN, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, HAL_TIMEOUT, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_CONTEXT_NONE, SD_CONTEXT_WRITE_MULTIPLE_BLOCK, SD_CONTEXT_WRITE_SINGLE_BLOCK, SD_HandleTypeDef::SdCard, and SD_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SD_Erase | ( | SD_HandleTypeDef * | hsd, |
uint32_t | BlockStartAdd, | ||
uint32_t | BlockEndAdd ) |
#include <stm32f4xx_hal_sd.h>
Erases the specified memory area of the given SD card.
hsd | Pointer to SD handle |
BlockStartAdd | Start Block address |
BlockEndAdd | End Block address |
HAL | status |
Definition at line 1418 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, CARD_SDHC_SDXC, CARD_SECURED, HAL_SD_CardInfoTypeDef::CardType, HAL_SD_CardInfoTypeDef::Class, SD_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_LOCK_UNLOCK_FAILED, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_ERROR_REQUEST_NOT_APPLICABLE, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_HandleTypeDef::SdCard, and SD_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SD_ReadBlocks_IT | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks ) |
#include <stm32f4xx_hal_sd.h>
Reads block(s) from a specified address in a card. The Data transfer is managed in interrupt mode.
hsd | Pointer to SD handle |
pData | Pointer to the buffer that will contain the received data |
BlockAdd | Block Address from where data is to be read |
NumberOfBlocks | Number of blocks to read. |
HAL | status |
Definition at line 981 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_ENABLE_IT, BLOCKSIZE, CARD_SDHC_SDXC, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, SD_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_HandleTypeDef::pRxBuffPtr, SD_HandleTypeDef::RxXferSize, SD_CONTEXT_IT, SD_CONTEXT_NONE, SD_CONTEXT_READ_MULTIPLE_BLOCK, SD_CONTEXT_READ_SINGLE_BLOCK, SD_HandleTypeDef::SdCard, and SD_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SD_WriteBlocks_IT | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks ) |
#include <stm32f4xx_hal_sd.h>
Writes block(s) to a specified address in a card. The Data transfer is managed in interrupt mode.
hsd | Pointer to SD handle |
pData | Pointer to the buffer that will contain the data to transmit |
BlockAdd | Block Address where data will be written |
NumberOfBlocks | Number of blocks to write |
HAL | status |
Definition at line 1077 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_ENABLE_IT, BLOCKSIZE, CARD_SDHC_SDXC, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, SD_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_HandleTypeDef::pTxBuffPtr, SD_CONTEXT_IT, SD_CONTEXT_NONE, SD_CONTEXT_WRITE_MULTIPLE_BLOCK, SD_CONTEXT_WRITE_SINGLE_BLOCK, SD_HandleTypeDef::SdCard, SD_HandleTypeDef::State, and SD_HandleTypeDef::TxXferSize.
HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks ) |
#include <stm32f4xx_hal_sd.h>
Reads block(s) from a specified address in a card. The Data transfer is managed by DMA mode.
hsd | Pointer SD handle |
pData | Pointer to the buffer that will contain the received data |
BlockAdd | Block Address from where data is to be read |
NumberOfBlocks | Number of blocks to read. |
HAL | status |
Definition at line 1174 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_DISABLE_IT, __HAL_SD_DMA_ENABLE, __HAL_SD_ENABLE_IT, BLOCKSIZE, CARD_SDHC_SDXC, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, DMA_InitTypeDef::Direction, DMA_PERIPH_TO_MEMORY, SD_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_DMA, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, SD_HandleTypeDef::hdmarx, __DMA_HandleTypeDef::Init, __DMA_HandleTypeDef::Instance, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_CONTEXT_DMA, SD_CONTEXT_NONE, SD_CONTEXT_READ_MULTIPLE_BLOCK, SD_CONTEXT_READ_SINGLE_BLOCK, SD_DMAError(), SD_DMAReceiveCplt(), SD_HandleTypeDef::SdCard, SD_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.
HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA | ( | SD_HandleTypeDef * | hsd, |
uint8_t * | pData, | ||
uint32_t | BlockAdd, | ||
uint32_t | NumberOfBlocks ) |
#include <stm32f4xx_hal_sd.h>
Writes block(s) to a specified address in a card. The Data transfer is managed by DMA mode.
hsd | Pointer to SD handle |
pData | Pointer to the buffer that will contain the data to transmit |
BlockAdd | Block Address where data will be written |
NumberOfBlocks | Number of blocks to write |
HAL | status |
Definition at line 1295 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_DISABLE_IT, __HAL_SD_DMA_ENABLE, __HAL_SD_ENABLE_IT, BLOCKSIZE, CARD_SDHC_SDXC, HAL_SD_CardInfoTypeDef::CardType, SD_HandleTypeDef::Context, DMA_InitTypeDef::Direction, DMA_MEMORY_TO_PERIPH, SD_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_OK, HAL_SD_ERROR_ADDR_OUT_OF_RANGE, HAL_SD_ERROR_DMA, HAL_SD_ERROR_NONE, HAL_SD_ERROR_PARAM, HAL_SD_STATE_BUSY, HAL_SD_STATE_READY, SD_HandleTypeDef::hdmatx, __DMA_HandleTypeDef::Init, __DMA_HandleTypeDef::Instance, SD_HandleTypeDef::Instance, HAL_SD_CardInfoTypeDef::LogBlockNbr, SD_CONTEXT_DMA, SD_CONTEXT_NONE, SD_CONTEXT_WRITE_MULTIPLE_BLOCK, SD_CONTEXT_WRITE_SINGLE_BLOCK, SD_DMAError(), SD_DMATransmitCplt(), SD_HandleTypeDef::SdCard, SD_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.
void HAL_SD_IRQHandler | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.h>
This function handles SD card interrupt request.
hsd | Pointer to SD handle |
None |
Definition at line 1520 of file stm32f4xx_hal_sd.c.
References __HAL_SD_CLEAR_FLAG, __HAL_SD_DISABLE_IT, __HAL_SD_GET_FLAG, SD_HandleTypeDef::Context, SD_HandleTypeDef::ErrorCode, HAL_DMA_Abort_IT(), HAL_OK, HAL_SD_AbortCallback(), HAL_SD_ERROR_DATA_CRC_FAIL, HAL_SD_ERROR_DATA_TIMEOUT, HAL_SD_ERROR_NONE, HAL_SD_ERROR_RX_OVERRUN, HAL_SD_ERROR_TX_UNDERRUN, HAL_SD_ErrorCallback(), HAL_SD_RxCpltCallback(), HAL_SD_STATE_READY, HAL_SD_TxCpltCallback(), SD_HandleTypeDef::hdmarx, SD_HandleTypeDef::hdmatx, SD_HandleTypeDef::Instance, SD_CONTEXT_DMA, SD_CONTEXT_IT, SD_CONTEXT_NONE, SD_CONTEXT_READ_MULTIPLE_BLOCK, SD_CONTEXT_READ_SINGLE_BLOCK, SD_CONTEXT_WRITE_MULTIPLE_BLOCK, SD_CONTEXT_WRITE_SINGLE_BLOCK, SD_DMARxAbort(), SD_DMATxAbort(), SD_Read_IT(), SD_Write_IT(), SD_HandleTypeDef::State, and __DMA_HandleTypeDef::XferAbortCallback.
__weak void HAL_SD_TxCpltCallback | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.h>
Tx Transfer completed callbacks.
hsd | Pointer to SD handle |
None |
Definition at line 1757 of file stm32f4xx_hal_sd.c.
References UNUSED.
Referenced by HAL_SD_Init(), and HAL_SD_IRQHandler().
__weak void HAL_SD_RxCpltCallback | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.h>
Rx Transfer completed callbacks.
hsd | Pointer SD handle |
None |
Definition at line 1772 of file stm32f4xx_hal_sd.c.
References UNUSED.
Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), and SD_DMAReceiveCplt().
__weak void HAL_SD_ErrorCallback | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.h>
SD error callbacks.
hsd | Pointer SD handle |
None |
Definition at line 1787 of file stm32f4xx_hal_sd.c.
References UNUSED.
Referenced by HAL_SD_Init(), HAL_SD_IRQHandler(), SD_DMAError(), SD_DMAReceiveCplt(), SD_DMARxAbort(), and SD_DMATxAbort().
__weak void HAL_SD_AbortCallback | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.h>
SD Abort callbacks.
hsd | Pointer SD handle |
None |
Definition at line 1802 of file stm32f4xx_hal_sd.c.
References UNUSED.
Referenced by HAL_SD_Abort_IT(), HAL_SD_Init(), HAL_SD_IRQHandler(), SD_DMARxAbort(), and SD_DMATxAbort().
HAL_SD_StateTypeDef HAL_SD_GetState | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.c>
return the SD state
hsd | Pointer to sd handle |
HAL | state |
Definition at line 1736 of file stm32f4xx_hal_sd.c.
References SD_HandleTypeDef::State.
uint32_t HAL_SD_GetError | ( | SD_HandleTypeDef * | hsd | ) |
#include <stm32f4xx_hal_sd.c>
Return the SD error code.
hsd | : Pointer to a SD_HandleTypeDef structure that contains the configuration information. |
SD | Error Code |
Definition at line 1747 of file stm32f4xx_hal_sd.c.
References SD_HandleTypeDef::ErrorCode.