STM32H735xx HAL User Manual
|
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 */