STM32L486xx 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   * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
00010   *
00011   * Redistribution and use in source and binary forms, with or without modification,
00012   * are permitted provided that the following conditions are met:
00013   *   1. Redistributions of source code must retain the above copyright notice,
00014   *      this list of conditions and the following disclaimer.
00015   *   2. Redistributions in binary form must reproduce the above copyright notice,
00016   *      this list of conditions and the following disclaimer in the documentation
00017   *      and/or other materials provided with the distribution.
00018   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00019   *      may be used to endorse or promote products derived from this software
00020   *      without specific prior written permission.
00021   *
00022   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00023   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00025   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00026   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00028   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00029   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00030   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00031   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00032   *
00033   ******************************************************************************
00034   */ 
00035 
00036 /* Define to prevent recursive inclusion -------------------------------------*/
00037 #ifndef STM32L4xx_HAL_SD_EX_H
00038 #define STM32L4xx_HAL_SD_EX_H
00039 
00040 #ifdef __cplusplus
00041  extern "C" {
00042 #endif
00043 
00044 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx)
00045 
00046 /* Includes ------------------------------------------------------------------*/
00047 #include "stm32l4xx_hal_def.h"
00048 
00049 /** @addtogroup STM32L4xx_HAL_Driver
00050   * @{
00051   */
00052 
00053 /** @addtogroup SDEx
00054   * @{
00055   */
00056 
00057 /* Exported types ------------------------------------------------------------*/
00058 /** @defgroup SDEx_Exported_Types SDEx Exported Types
00059   * @{
00060   */
00061 
00062 /** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure
00063   * @{
00064   */ 
00065 typedef enum
00066 {
00067   SD_DMA_BUFFER0      = 0x00U,    /*!< selects SD internal DMA Buffer 0     */
00068   SD_DMA_BUFFER1      = 0x01U,    /*!< selects SD internal DMA Buffer 1     */
00069 
00070 }HAL_SDEx_DMABuffer_MemoryTypeDef;
00071 
00072 
00073 /** 
00074   * @}
00075   */
00076   
00077 /** 
00078   * @}
00079   */  
00080 /* Exported constants --------------------------------------------------------*/
00081 /* Exported macro ------------------------------------------------------------*/
00082 /* Exported functions --------------------------------------------------------*/
00083 /** @defgroup SDEx_Exported_Functions SDEx Exported Functions
00084   * @{
00085   */
00086   
00087 /** @defgroup SDEx_Exported_Functions_Group1 HighSpeed functions
00088   * @{
00089   */
00090 uint32_t HAL_SDEx_HighSpeed (SD_HandleTypeDef *hsd);
00091 
00092 void HAL_SDEx_DriveTransceiver_1_8V_Callback(FlagStatus status);
00093 
00094 /**
00095   * @}
00096   */
00097 
00098 /** @defgroup SDEx_Exported_Functions_Group2 MultiBuffer functions
00099   * @{
00100   */
00101 HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize);
00102 HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
00103 HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
00104 HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer);
00105 
00106 void HAL_SDEx_Read_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd);
00107 void HAL_SDEx_Read_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd);
00108 void HAL_SDEx_Write_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd);
00109 void HAL_SDEx_Write_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd);
00110 
00111 /**
00112   * @}
00113   */
00114   
00115 /**
00116   * @}
00117   */
00118   
00119 /* Private types -------------------------------------------------------------*/
00120 /* Private defines -----------------------------------------------------------*/
00121 /* Private variables ---------------------------------------------------------*/
00122 /* Private constants ---------------------------------------------------------*/
00123 /* Private macros ------------------------------------------------------------*/
00124 /* Private functions prototypes ----------------------------------------------*/
00125 /* Private functions ---------------------------------------------------------*/
00126   
00127 /**
00128   * @}
00129   */
00130 
00131 /**
00132   * @}
00133   */
00134 
00135 #endif /* STM32L4R5xx || STM32L4R7xx || STM32L4R9xx || STM32L4S5xx || STM32L4S7xx || STM32L4S9xx */
00136 
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140 
00141 
00142 #endif /* STM32L4xx_HAL_SDEx_H */ 
00143 
00144 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/