STM32L443xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_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 STM32L4xx_HAL_SD_EX_H 00021 #define STM32L4xx_HAL_SD_EX_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 #if defined(STM32L4P5xx) || defined(STM32L4Q5xx) || defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 00028 00029 /* Includes ------------------------------------------------------------------*/ 00030 #include "stm32l4xx_hal_def.h" 00031 00032 /** @addtogroup STM32L4xx_HAL_Driver 00033 * @{ 00034 */ 00035 00036 /** @addtogroup SDEx 00037 * @brief SD HAL extended module driver 00038 * @{ 00039 */ 00040 00041 /* Exported types ------------------------------------------------------------*/ 00042 /** @defgroup SDEx_Exported_Types SDEx Exported Types 00043 * @{ 00044 */ 00045 00046 /** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure 00047 * @{ 00048 */ 00049 typedef enum 00050 { 00051 SD_DMA_BUFFER0 = 0x00U, /*!< selects SD internal DMA Buffer 0 */ 00052 SD_DMA_BUFFER1 = 0x01U, /*!< selects SD internal DMA Buffer 1 */ 00053 00054 }HAL_SDEx_DMABuffer_MemoryTypeDef; 00055 00056 00057 /** 00058 * @} 00059 */ 00060 00061 /** 00062 * @} 00063 */ 00064 /* Exported constants --------------------------------------------------------*/ 00065 /* Exported macro ------------------------------------------------------------*/ 00066 /* Exported functions --------------------------------------------------------*/ 00067 /** @defgroup SDEx_Exported_Functions SDEx Exported Functions 00068 * @{ 00069 */ 00070 00071 /** @defgroup SDEx_Exported_Functions_Group1 HighSpeed functions 00072 * @{ 00073 */ 00074 uint32_t HAL_SDEx_HighSpeed (SD_HandleTypeDef *hsd); 00075 00076 void HAL_SDEx_DriveTransceiver_1_8V_Callback(FlagStatus status); 00077 00078 /** 00079 * @} 00080 */ 00081 00082 /** @defgroup SDEx_Exported_Functions_Group2 MultiBuffer functions 00083 * @{ 00084 */ 00085 HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize); 00086 HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); 00087 HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); 00088 HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer); 00089 00090 void HAL_SDEx_Read_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd); 00091 void HAL_SDEx_Read_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd); 00092 void HAL_SDEx_Write_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd); 00093 void HAL_SDEx_Write_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd); 00094 00095 /** 00096 * @} 00097 */ 00098 00099 /** 00100 * @} 00101 */ 00102 00103 /* Private types -------------------------------------------------------------*/ 00104 /* Private defines -----------------------------------------------------------*/ 00105 /* Private variables ---------------------------------------------------------*/ 00106 /* Private constants ---------------------------------------------------------*/ 00107 /* Private macros ------------------------------------------------------------*/ 00108 /* Private functions prototypes ----------------------------------------------*/ 00109 /* Private functions ---------------------------------------------------------*/ 00110 00111 /** 00112 * @} 00113 */ 00114 00115 /** 00116 * @} 00117 */ 00118 00119 #endif /* STM32L4P5xx || STM32L4Q5xx || STM32L4R5xx || STM32L4R7xx || STM32L4R9xx || STM32L4S5xx || STM32L4S7xx || STM32L4S9xx */ 00120 00121 #ifdef __cplusplus 00122 } 00123 #endif 00124 00125 00126 #endif /* STM32L4xx_HAL_SDEx_H */