STM32L443xx HAL User Manual
stm32l4xx_hal_sd_ex.h
Go to the documentation of this file.
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 */