1 /** 2 ****************************************************************************** 3 * @file stm32h7xx_hal_sd_ex.h 4 * @author MCD Application Team 5 * @brief Header file of SD HAL extended module. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© Copyright (c) 2017 STMicroelectronics. 10 * All rights reserved.</center></h2> 11 * 12 * This software component is licensed by ST under BSD 3-Clause license, 13 * the "License"; You may not use this file except in compliance with the 14 * License. You may obtain a copy of the License at: 15 * opensource.org/licenses/BSD-3-Clause 16 * 17 ****************************************************************************** 18 */ 19 20 /* Define to prevent recursive inclusion -------------------------------------*/ 21 #ifndef STM32H7xx_HAL_SD_EX_H 22 #define STM32H7xx_HAL_SD_EX_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /* Includes ------------------------------------------------------------------*/ 29 #include "stm32h7xx_hal_def.h" 30 31 /** @addtogroup STM32H7xx_HAL_Driver 32 * @{ 33 */ 34 35 /** @addtogroup SDEx 36 * @brief SD HAL extended module driver 37 * @{ 38 */ 39 40 /* Exported types ------------------------------------------------------------*/ 41 /** @defgroup SDEx_Exported_Types SDEx Exported Types 42 * @{ 43 */ 44 45 /** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure 46 * @{ 47 */ 48 typedef enum 49 { 50 SD_DMA_BUFFER0 = 0x00U, /*!< selects SD internal DMA Buffer 0 */ 51 SD_DMA_BUFFER1 = 0x01U, /*!< selects SD internal DMA Buffer 1 */ 52 53 } HAL_SDEx_DMABuffer_MemoryTypeDef; 54 55 /** 56 * @} 57 */ 58 /** 59 * @} 60 */ 61 62 /* Exported functions --------------------------------------------------------*/ 63 /** @defgroup SDEx_Exported_Functions SDEx Exported Functions 64 * @{ 65 */ 66 67 /** @defgroup SDEx_Exported_Functions_Group1 MultiBuffer functions 68 * @{ 69 */ 70 71 HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t *pDataBuffer0, uint32_t *pDataBuffer1, 72 uint32_t BufferSize); 73 HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); 74 HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); 75 HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, 76 uint32_t *pDataBuffer); 77 78 void HAL_SDEx_Read_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd); 79 void HAL_SDEx_Read_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd); 80 void HAL_SDEx_Write_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd); 81 void HAL_SDEx_Write_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd); 82 83 /** 84 * @} 85 */ 86 87 /** 88 * @} 89 */ 90 91 /* Private types -------------------------------------------------------------*/ 92 /* Private defines -----------------------------------------------------------*/ 93 /* Private variables ---------------------------------------------------------*/ 94 /* Private constants ---------------------------------------------------------*/ 95 /* Private macros ------------------------------------------------------------*/ 96 /* Private functions prototypes ----------------------------------------------*/ 97 /* Private functions ---------------------------------------------------------*/ 98 99 /** 100 * @} 101 */ 102 103 /** 104 * @} 105 */ 106 #ifdef __cplusplus 107 } 108 #endif 109 110 111 #endif /* stm32h7xx_HAL_SD_EX_H */ 112 113 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 114