STM32H735xx HAL User Manual
stm32h7xx_hal_sd_ex.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32h7xx_hal_sd_ex.h
00004   * @author  MCD Application Team
00005   * @brief   Header file of SD HAL extended module.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * Copyright (c) 2017 STMicroelectronics.
00010   * All rights reserved.
00011   *
00012   * This software is licensed under terms that can be found in the LICENSE file
00013   * in the root directory of this software component.
00014   * If no LICENSE file comes with this software, it is provided AS-IS.
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* Define to prevent recursive inclusion -------------------------------------*/
00020 #ifndef STM32H7xx_HAL_SD_EX_H
00021 #define STM32H7xx_HAL_SD_EX_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm32h7xx_hal_def.h"
00029 
00030 /** @addtogroup STM32H7xx_HAL_Driver
00031   * @{
00032   */
00033 
00034 /** @addtogroup SDEx
00035   * @brief SD HAL extended module driver
00036   * @{
00037   */
00038 
00039 /* Exported types ------------------------------------------------------------*/
00040 /** @defgroup SDEx_Exported_Types SDEx Exported Types
00041   * @{
00042   */
00043 
00044 /** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure
00045   * @{
00046   */
00047 typedef enum
00048 {
00049   SD_DMA_BUFFER0      = 0x00U,    /*!< selects SD internal DMA Buffer 0     */
00050   SD_DMA_BUFFER1      = 0x01U,    /*!< selects SD internal DMA Buffer 1     */
00051 
00052 } HAL_SDEx_DMABuffer_MemoryTypeDef;
00053 
00054 /**
00055   * @}
00056   */
00057 /**
00058   * @}
00059   */
00060 
00061 /* Exported functions --------------------------------------------------------*/
00062 /** @defgroup SDEx_Exported_Functions SDEx Exported Functions
00063   * @{
00064   */
00065 
00066 /** @defgroup SDEx_Exported_Functions_Group1 MultiBuffer functions
00067   * @{
00068   */
00069 
00070 HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t *pDataBuffer0, uint32_t *pDataBuffer1,
00071                                                 uint32_t BufferSize);
00072 HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
00073 HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
00074 HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer,
00075                                            uint32_t *pDataBuffer);
00076 
00077 void HAL_SDEx_Read_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd);
00078 void HAL_SDEx_Read_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd);
00079 void HAL_SDEx_Write_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd);
00080 void HAL_SDEx_Write_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd);
00081 
00082 /**
00083   * @}
00084   */
00085 
00086 /**
00087   * @}
00088   */
00089 
00090 /* Private types -------------------------------------------------------------*/
00091 /* Private defines -----------------------------------------------------------*/
00092 /* Private variables ---------------------------------------------------------*/
00093 /* Private constants ---------------------------------------------------------*/
00094 /* Private macros ------------------------------------------------------------*/
00095 /* Private functions prototypes ----------------------------------------------*/
00096 /* Private functions ---------------------------------------------------------*/
00097 
00098 /**
00099   * @}
00100   */
00101 
00102 /**
00103   * @}
00104   */
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 
00110 #endif /* stm32h7xx_HAL_SD_EX_H */