SPKT

Dependencies:   F746_GUI SD_PlayerSkeleton F746_SAI_IO

Committer:
phungductung
Date:
Tue Jun 04 21:37:21 2019 +0000
Revision:
0:8ede47d38d10
SPKT

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phungductung 0:8ede47d38d10 1 /**
phungductung 0:8ede47d38d10 2 ******************************************************************************
phungductung 0:8ede47d38d10 3 * @file stm32f7xx_hal_dcmi_ex.h
phungductung 0:8ede47d38d10 4 * @author MCD Application Team
phungductung 0:8ede47d38d10 5 * @version V1.0.4
phungductung 0:8ede47d38d10 6 * @date 09-December-2015
phungductung 0:8ede47d38d10 7 * @brief Header file of DCMI Extension HAL module.
phungductung 0:8ede47d38d10 8 ******************************************************************************
phungductung 0:8ede47d38d10 9 * @attention
phungductung 0:8ede47d38d10 10 *
phungductung 0:8ede47d38d10 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
phungductung 0:8ede47d38d10 12 *
phungductung 0:8ede47d38d10 13 * Redistribution and use in source and binary forms, with or without modification,
phungductung 0:8ede47d38d10 14 * are permitted provided that the following conditions are met:
phungductung 0:8ede47d38d10 15 * 1. Redistributions of source code must retain the above copyright notice,
phungductung 0:8ede47d38d10 16 * this list of conditions and the following disclaimer.
phungductung 0:8ede47d38d10 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
phungductung 0:8ede47d38d10 18 * this list of conditions and the following disclaimer in the documentation
phungductung 0:8ede47d38d10 19 * and/or other materials provided with the distribution.
phungductung 0:8ede47d38d10 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
phungductung 0:8ede47d38d10 21 * may be used to endorse or promote products derived from this software
phungductung 0:8ede47d38d10 22 * without specific prior written permission.
phungductung 0:8ede47d38d10 23 *
phungductung 0:8ede47d38d10 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
phungductung 0:8ede47d38d10 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
phungductung 0:8ede47d38d10 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
phungductung 0:8ede47d38d10 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
phungductung 0:8ede47d38d10 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
phungductung 0:8ede47d38d10 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
phungductung 0:8ede47d38d10 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
phungductung 0:8ede47d38d10 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
phungductung 0:8ede47d38d10 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
phungductung 0:8ede47d38d10 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
phungductung 0:8ede47d38d10 34 *
phungductung 0:8ede47d38d10 35 ******************************************************************************
phungductung 0:8ede47d38d10 36 */
phungductung 0:8ede47d38d10 37
phungductung 0:8ede47d38d10 38 /* Define to prevent recursive inclusion -------------------------------------*/
phungductung 0:8ede47d38d10 39 #ifndef __STM32F7xx_HAL_DCMI_EX_H
phungductung 0:8ede47d38d10 40 #define __STM32F7xx_HAL_DCMI_EX_H
phungductung 0:8ede47d38d10 41
phungductung 0:8ede47d38d10 42 #ifdef __cplusplus
phungductung 0:8ede47d38d10 43 extern "C" {
phungductung 0:8ede47d38d10 44 #endif
phungductung 0:8ede47d38d10 45
phungductung 0:8ede47d38d10 46
phungductung 0:8ede47d38d10 47 /* Includes ------------------------------------------------------------------*/
phungductung 0:8ede47d38d10 48 #include "stm32f7xx_hal_def.h"
phungductung 0:8ede47d38d10 49
phungductung 0:8ede47d38d10 50
phungductung 0:8ede47d38d10 51 /** @addtogroup STM32F7xx_HAL_Driver
phungductung 0:8ede47d38d10 52 * @{
phungductung 0:8ede47d38d10 53 */
phungductung 0:8ede47d38d10 54
phungductung 0:8ede47d38d10 55 /** @addtogroup DCMIEx DCMIEx
phungductung 0:8ede47d38d10 56 * @{
phungductung 0:8ede47d38d10 57 */
phungductung 0:8ede47d38d10 58
phungductung 0:8ede47d38d10 59
phungductung 0:8ede47d38d10 60 /* Exported types ------------------------------------------------------------*/
phungductung 0:8ede47d38d10 61 /** @defgroup DCMIEx_Exported_Types DCMIEx Exported Types
phungductung 0:8ede47d38d10 62 * @{
phungductung 0:8ede47d38d10 63 */
phungductung 0:8ede47d38d10 64 /**
phungductung 0:8ede47d38d10 65 * @brief DCMIEx Embedded Synchronisation CODE Init structure definition
phungductung 0:8ede47d38d10 66 */
phungductung 0:8ede47d38d10 67 typedef struct
phungductung 0:8ede47d38d10 68 {
phungductung 0:8ede47d38d10 69 uint8_t FrameStartCode; /*!< Specifies the code of the frame start delimiter. */
phungductung 0:8ede47d38d10 70 uint8_t LineStartCode; /*!< Specifies the code of the line start delimiter. */
phungductung 0:8ede47d38d10 71 uint8_t LineEndCode; /*!< Specifies the code of the line end delimiter. */
phungductung 0:8ede47d38d10 72 uint8_t FrameEndCode; /*!< Specifies the code of the frame end delimiter. */
phungductung 0:8ede47d38d10 73 }DCMI_CodesInitTypeDef;
phungductung 0:8ede47d38d10 74
phungductung 0:8ede47d38d10 75 /**
phungductung 0:8ede47d38d10 76 * @brief DCMI Init structure definition
phungductung 0:8ede47d38d10 77 */
phungductung 0:8ede47d38d10 78 typedef struct
phungductung 0:8ede47d38d10 79 {
phungductung 0:8ede47d38d10 80 uint32_t SynchroMode; /*!< Specifies the Synchronization Mode: Hardware or Embedded.
phungductung 0:8ede47d38d10 81 This parameter can be a value of @ref DCMI_Synchronization_Mode */
phungductung 0:8ede47d38d10 82
phungductung 0:8ede47d38d10 83 uint32_t PCKPolarity; /*!< Specifies the Pixel clock polarity: Falling or Rising.
phungductung 0:8ede47d38d10 84 This parameter can be a value of @ref DCMI_PIXCK_Polarity */
phungductung 0:8ede47d38d10 85
phungductung 0:8ede47d38d10 86 uint32_t VSPolarity; /*!< Specifies the Vertical synchronization polarity: High or Low.
phungductung 0:8ede47d38d10 87 This parameter can be a value of @ref DCMI_VSYNC_Polarity */
phungductung 0:8ede47d38d10 88
phungductung 0:8ede47d38d10 89 uint32_t HSPolarity; /*!< Specifies the Horizontal synchronization polarity: High or Low.
phungductung 0:8ede47d38d10 90 This parameter can be a value of @ref DCMI_HSYNC_Polarity */
phungductung 0:8ede47d38d10 91
phungductung 0:8ede47d38d10 92 uint32_t CaptureRate; /*!< Specifies the frequency of frame capture: All, 1/2 or 1/4.
phungductung 0:8ede47d38d10 93 This parameter can be a value of @ref DCMI_Capture_Rate */
phungductung 0:8ede47d38d10 94
phungductung 0:8ede47d38d10 95 uint32_t ExtendedDataMode; /*!< Specifies the data width: 8-bit, 10-bit, 12-bit or 14-bit.
phungductung 0:8ede47d38d10 96 This parameter can be a value of @ref DCMI_Extended_Data_Mode */
phungductung 0:8ede47d38d10 97
phungductung 0:8ede47d38d10 98 DCMI_CodesInitTypeDef SyncroCode; /*!< Specifies the code of the frame start delimiter. */
phungductung 0:8ede47d38d10 99
phungductung 0:8ede47d38d10 100 uint32_t JPEGMode; /*!< Enable or Disable the JPEG mode.
phungductung 0:8ede47d38d10 101 This parameter can be a value of @ref DCMI_MODE_JPEG */
phungductung 0:8ede47d38d10 102
phungductung 0:8ede47d38d10 103 uint32_t ByteSelectMode; /*!< Specifies the data to be captured by the interface
phungductung 0:8ede47d38d10 104 This parameter can be a value of @ref DCMIEx_Byte_Select_Mode */
phungductung 0:8ede47d38d10 105
phungductung 0:8ede47d38d10 106 uint32_t ByteSelectStart; /*!< Specifies if the data to be captured by the interface is even or odd
phungductung 0:8ede47d38d10 107 This parameter can be a value of @ref DCMIEx_Byte_Select_Start */
phungductung 0:8ede47d38d10 108
phungductung 0:8ede47d38d10 109 uint32_t LineSelectMode; /*!< Specifies the line of data to be captured by the interface
phungductung 0:8ede47d38d10 110 This parameter can be a value of @ref DCMIEx_Line_Select_Mode */
phungductung 0:8ede47d38d10 111
phungductung 0:8ede47d38d10 112 uint32_t LineSelectStart; /*!< Specifies if the line of data to be captured by the interface is even or odd
phungductung 0:8ede47d38d10 113 This parameter can be a value of @ref DCMIEx_Line_Select_Start */
phungductung 0:8ede47d38d10 114 }DCMI_InitTypeDef;
phungductung 0:8ede47d38d10 115
phungductung 0:8ede47d38d10 116 /**
phungductung 0:8ede47d38d10 117 * @}
phungductung 0:8ede47d38d10 118 */
phungductung 0:8ede47d38d10 119
phungductung 0:8ede47d38d10 120 /* Exported constants --------------------------------------------------------*/
phungductung 0:8ede47d38d10 121 /** @defgroup DCMIEx_Exported_Constants DCMIEx Exported Constants
phungductung 0:8ede47d38d10 122 * @{
phungductung 0:8ede47d38d10 123 */
phungductung 0:8ede47d38d10 124
phungductung 0:8ede47d38d10 125 /** @defgroup DCMIEx_Byte_Select_Mode DCMIEx Byte Select Mode
phungductung 0:8ede47d38d10 126 * @{
phungductung 0:8ede47d38d10 127 */
phungductung 0:8ede47d38d10 128 #define DCMI_BSM_ALL ((uint32_t)0x00000000) /*!< Interface captures all received data */
phungductung 0:8ede47d38d10 129 #define DCMI_BSM_OTHER ((uint32_t)DCMI_CR_BSM_0) /*!< Interface captures every other byte from the received data */
phungductung 0:8ede47d38d10 130 #define DCMI_BSM_ALTERNATE_4 ((uint32_t)DCMI_CR_BSM_1) /*!< Interface captures one byte out of four */
phungductung 0:8ede47d38d10 131 #define DCMI_BSM_ALTERNATE_2 ((uint32_t)(DCMI_CR_BSM_0 | DCMI_CR_BSM_1)) /*!< Interface captures two bytes out of four */
phungductung 0:8ede47d38d10 132
phungductung 0:8ede47d38d10 133 /**
phungductung 0:8ede47d38d10 134 * @}
phungductung 0:8ede47d38d10 135 */
phungductung 0:8ede47d38d10 136
phungductung 0:8ede47d38d10 137 /** @defgroup DCMIEx_Byte_Select_Start DCMIEx Byte Select Start
phungductung 0:8ede47d38d10 138 * @{
phungductung 0:8ede47d38d10 139 */
phungductung 0:8ede47d38d10 140 #define DCMI_OEBS_ODD ((uint32_t)0x00000000) /*!< Interface captures first data from the frame/line start, second one being dropped */
phungductung 0:8ede47d38d10 141 #define DCMI_OEBS_EVEN ((uint32_t)DCMI_CR_OEBS) /*!< Interface captures second data from the frame/line start, first one being dropped */
phungductung 0:8ede47d38d10 142
phungductung 0:8ede47d38d10 143 /**
phungductung 0:8ede47d38d10 144 * @}
phungductung 0:8ede47d38d10 145 */
phungductung 0:8ede47d38d10 146
phungductung 0:8ede47d38d10 147 /** @defgroup DCMIEx_Line_Select_Mode DCMIEx Line Select Mode
phungductung 0:8ede47d38d10 148 * @{
phungductung 0:8ede47d38d10 149 */
phungductung 0:8ede47d38d10 150 #define DCMI_LSM_ALL ((uint32_t)0x00000000) /*!< Interface captures all received lines */
phungductung 0:8ede47d38d10 151 #define DCMI_LSM_ALTERNATE_2 ((uint32_t)DCMI_CR_LSM) /*!< Interface captures one line out of two */
phungductung 0:8ede47d38d10 152
phungductung 0:8ede47d38d10 153 /**
phungductung 0:8ede47d38d10 154 * @}
phungductung 0:8ede47d38d10 155 */
phungductung 0:8ede47d38d10 156
phungductung 0:8ede47d38d10 157 /** @defgroup DCMIEx_Line_Select_Start DCMIEx Line Select Start
phungductung 0:8ede47d38d10 158 * @{
phungductung 0:8ede47d38d10 159 */
phungductung 0:8ede47d38d10 160 #define DCMI_OELS_ODD ((uint32_t)0x00000000) /*!< Interface captures first line from the frame start, second one being dropped */
phungductung 0:8ede47d38d10 161 #define DCMI_OELS_EVEN ((uint32_t)DCMI_CR_OELS) /*!< Interface captures second line from the frame start, first one being dropped */
phungductung 0:8ede47d38d10 162
phungductung 0:8ede47d38d10 163 /**
phungductung 0:8ede47d38d10 164 * @}
phungductung 0:8ede47d38d10 165 */
phungductung 0:8ede47d38d10 166
phungductung 0:8ede47d38d10 167 /**
phungductung 0:8ede47d38d10 168 * @}
phungductung 0:8ede47d38d10 169 */
phungductung 0:8ede47d38d10 170
phungductung 0:8ede47d38d10 171 /* Exported macro ------------------------------------------------------------*/
phungductung 0:8ede47d38d10 172 /* Exported functions --------------------------------------------------------*/
phungductung 0:8ede47d38d10 173 /* Private types -------------------------------------------------------------*/
phungductung 0:8ede47d38d10 174 /* Private variables ---------------------------------------------------------*/
phungductung 0:8ede47d38d10 175 /* Private constants ---------------------------------------------------------*/
phungductung 0:8ede47d38d10 176 /* Private macro -------------------------------------------------------------*/
phungductung 0:8ede47d38d10 177 /** @defgroup DCMIEx_Private_Macros DCMIEx Private Macros
phungductung 0:8ede47d38d10 178 * @{
phungductung 0:8ede47d38d10 179 */
phungductung 0:8ede47d38d10 180 #define IS_DCMI_BYTE_SELECT_MODE(MODE)(((MODE) == DCMI_BSM_ALL) || \
phungductung 0:8ede47d38d10 181 ((MODE) == DCMI_BSM_OTHER) || \
phungductung 0:8ede47d38d10 182 ((MODE) == DCMI_BSM_ALTERNATE_4) || \
phungductung 0:8ede47d38d10 183 ((MODE) == DCMI_BSM_ALTERNATE_2))
phungductung 0:8ede47d38d10 184
phungductung 0:8ede47d38d10 185 #define IS_DCMI_BYTE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OEBS_ODD) || \
phungductung 0:8ede47d38d10 186 ((POLARITY) == DCMI_OEBS_EVEN))
phungductung 0:8ede47d38d10 187
phungductung 0:8ede47d38d10 188 #define IS_DCMI_LINE_SELECT_MODE(MODE)(((MODE) == DCMI_LSM_ALL) || \
phungductung 0:8ede47d38d10 189 ((MODE) == DCMI_LSM_ALTERNATE_2))
phungductung 0:8ede47d38d10 190
phungductung 0:8ede47d38d10 191 #define IS_DCMI_LINE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OELS_ODD) || \
phungductung 0:8ede47d38d10 192 ((POLARITY) == DCMI_OELS_EVEN))
phungductung 0:8ede47d38d10 193 /**
phungductung 0:8ede47d38d10 194 * @}
phungductung 0:8ede47d38d10 195 */
phungductung 0:8ede47d38d10 196
phungductung 0:8ede47d38d10 197 /* Private functions ---------------------------------------------------------*/
phungductung 0:8ede47d38d10 198
phungductung 0:8ede47d38d10 199 /**
phungductung 0:8ede47d38d10 200 * @}
phungductung 0:8ede47d38d10 201 */
phungductung 0:8ede47d38d10 202
phungductung 0:8ede47d38d10 203 /**
phungductung 0:8ede47d38d10 204 * @}
phungductung 0:8ede47d38d10 205 */
phungductung 0:8ede47d38d10 206
phungductung 0:8ede47d38d10 207 #ifdef __cplusplus
phungductung 0:8ede47d38d10 208 }
phungductung 0:8ede47d38d10 209 #endif
phungductung 0:8ede47d38d10 210
phungductung 0:8ede47d38d10 211 #endif /* __STM32F7xx_HAL_DCMI_H */
phungductung 0:8ede47d38d10 212
phungductung 0:8ede47d38d10 213 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/