Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:36

0001 /**
0002   ******************************************************************************
0003   * @file    stm32h7xx_hal_sd_ex.h
0004   * @author  MCD Application Team
0005   * @brief   Header file of SD HAL extended module.
0006   ******************************************************************************
0007   * @attention
0008   *
0009   * Copyright (c) 2017 STMicroelectronics.
0010   * All rights reserved.
0011   *
0012   * This software is licensed under terms that can be found in the LICENSE file
0013   * in the root directory of this software component.
0014   * If no LICENSE file comes with this software, it is provided AS-IS.
0015   *
0016   ******************************************************************************
0017   */
0018 
0019 /* Define to prevent recursive inclusion -------------------------------------*/
0020 #ifndef STM32H7xx_HAL_SD_EX_H
0021 #define STM32H7xx_HAL_SD_EX_H
0022 
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026 
0027 /* Includes ------------------------------------------------------------------*/
0028 #include "stm32h7xx_hal_def.h"
0029 
0030 /** @addtogroup STM32H7xx_HAL_Driver
0031   * @{
0032   */
0033 
0034 /** @addtogroup SDEx
0035   * @brief SD HAL extended module driver
0036   * @{
0037   */
0038 
0039 /* Exported types ------------------------------------------------------------*/
0040 /** @defgroup SDEx_Exported_Types SDEx Exported Types
0041   * @ingroup RTEMSBSPsARMSTM32H7
0042   * @{
0043   */
0044 
0045 /** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure
0046   * @ingroup RTEMSBSPsARMSTM32H7
0047   * @{
0048   */
0049 typedef enum
0050 {
0051   SD_DMA_BUFFER0      = 0x00U,    /*!< selects SD internal DMA Buffer 0     */
0052   SD_DMA_BUFFER1      = 0x01U,    /*!< selects SD internal DMA Buffer 1     */
0053 
0054 } HAL_SDEx_DMABuffer_MemoryTypeDef;
0055 
0056 /**
0057   * @}
0058   */
0059 /**
0060   * @}
0061   */
0062 
0063 /* Exported functions --------------------------------------------------------*/
0064 /** @defgroup SDEx_Exported_Functions SDEx Exported Functions
0065   * @ingroup RTEMSBSPsARMSTM32H7
0066   * @{
0067   */
0068 
0069 /** @defgroup SDEx_Exported_Functions_Group1 MultiBuffer functions
0070   * @ingroup RTEMSBSPsARMSTM32H7
0071   * @{
0072   */
0073 
0074 HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t *pDataBuffer0, uint32_t *pDataBuffer1,
0075                                                 uint32_t BufferSize);
0076 HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
0077 HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks);
0078 HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer,
0079                                            uint32_t *pDataBuffer);
0080 
0081 void HAL_SDEx_Read_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd);
0082 void HAL_SDEx_Read_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd);
0083 void HAL_SDEx_Write_DMADoubleBuf0CpltCallback(SD_HandleTypeDef *hsd);
0084 void HAL_SDEx_Write_DMADoubleBuf1CpltCallback(SD_HandleTypeDef *hsd);
0085 
0086 /**
0087   * @}
0088   */
0089 
0090 /**
0091   * @}
0092   */
0093 
0094 /* Private types -------------------------------------------------------------*/
0095 /* Private defines -----------------------------------------------------------*/
0096 /* Private variables ---------------------------------------------------------*/
0097 /* Private constants ---------------------------------------------------------*/
0098 /* Private macros ------------------------------------------------------------*/
0099 /* Private functions prototypes ----------------------------------------------*/
0100 /* Private functions ---------------------------------------------------------*/
0101 
0102 /**
0103   * @}
0104   */
0105 
0106 /**
0107   * @}
0108   */
0109 #ifdef __cplusplus
0110 }
0111 #endif
0112 
0113 
0114 #endif /* stm32h7xx_HAL_SD_EX_H */