1 /** 2 ****************************************************************************** 3 * @file stm32l4xx_hal_mmc_ex.h 4 * @author MCD Application Team 5 * @brief Header file of SD HAL extended module. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2017 STMicroelectronics. 10 * All rights reserved. 11 * 12 * This software is licensed under terms that can be found in the LICENSE file 13 * in the root directory of this software component. 14 * If no LICENSE file comes with this software, it is provided AS-IS. 15 * 16 ****************************************************************************** 17 */ 18 19 /* Define to prevent recursive inclusion -------------------------------------*/ 20 #ifndef STM32L4xx_HAL_MMC_EX_H 21 #define STM32L4xx_HAL_MMC_EX_H 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 #if defined(STM32L4P5xx) || defined(STM32L4Q5xx) || defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 28 29 /* Includes ------------------------------------------------------------------*/ 30 #include "stm32l4xx_hal_def.h" 31 32 /** @addtogroup STM32L4xx_HAL_Driver 33 * @{ 34 */ 35 36 /** @addtogroup MMCEx 37 * @brief SD HAL extended module driver 38 * @{ 39 */ 40 41 /* Exported types ------------------------------------------------------------*/ 42 /** @addtogroup MMCEx_Exported_Types 43 * @{ 44 */ 45 46 /** @addtogroup MMCEx_Exported_Types_Group1 47 * @{ 48 */ 49 typedef enum 50 { 51 MMC_DMA_BUFFER0 = 0x00U, /*!< selects MMC internal DMA Buffer 0 */ 52 MMC_DMA_BUFFER1 = 0x01U, /*!< selects MMC internal DMA Buffer 1 */ 53 54 }HAL_MMCEx_DMABuffer_MemoryTypeDef; 55 56 57 /** 58 * @} 59 */ 60 61 /** 62 * @} 63 */ 64 /* Exported constants --------------------------------------------------------*/ 65 /* Exported macro ------------------------------------------------------------*/ 66 /* Exported functions --------------------------------------------------------*/ 67 /** @defgroup MMCEx_Exported_Functions MMCEx Exported Functions 68 * @{ 69 */ 70 71 /** @defgroup MMCEx_Exported_Functions_Group1 MultiBuffer functions 72 * @{ 73 */ 74 HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize); 75 HAL_StatusTypeDef HAL_MMCEx_ReadBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks); 76 HAL_StatusTypeDef HAL_MMCEx_WriteBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks); 77 HAL_StatusTypeDef HAL_MMCEx_ChangeDMABuffer(MMC_HandleTypeDef *hmmc, HAL_MMCEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer); 78 79 void HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc); 80 void HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc); 81 void HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc); 82 void HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc); 83 84 /** 85 * @} 86 */ 87 88 /** 89 * @} 90 */ 91 92 /* Private types -------------------------------------------------------------*/ 93 /* Private defines -----------------------------------------------------------*/ 94 /* Private variables ---------------------------------------------------------*/ 95 /* Private constants ---------------------------------------------------------*/ 96 /* Private macros ------------------------------------------------------------*/ 97 /* Private functions prototypes ----------------------------------------------*/ 98 /* Private functions ---------------------------------------------------------*/ 99 100 /** 101 * @} 102 */ 103 104 /** 105 * @} 106 */ 107 #endif /* STM32L4P5xx || STM32L4Q5xx || STM32L4R5xx || STM32L4R7xx || STM32L4R9xx || STM32L4S5xx || STM32L4S7xx || STM32L4S9xx */ 108 109 #ifdef __cplusplus 110 } 111 #endif 112 113 114 #endif /* STM32L4xx_HAL_MMCEx_H */ 115