STM32F4xx_HAL_Driver  1.8.3
stm32f4xx_hal_dcmi_ex.h
Go to the documentation of this file.
1 
18 /* Define to prevent recursive inclusion -------------------------------------*/
19 #ifndef __STM32F4xx_HAL_DCMI_EX_H
20 #define __STM32F4xx_HAL_DCMI_EX_H
21 
22 #ifdef __cplusplus
23  extern "C" {
24 #endif
25 
26 #if defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) ||\
27  defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F446xx) || defined(STM32F469xx) ||\
28  defined(STM32F479xx)
29 
30 /* Includes ------------------------------------------------------------------*/
31 #include "stm32f4xx_hal_def.h"
32 
33 
43 /* Exported types ------------------------------------------------------------*/
50 typedef struct
51 {
52  uint8_t FrameStartCode;
53  uint8_t LineStartCode;
54  uint8_t LineEndCode;
55  uint8_t FrameEndCode;
56 }DCMI_CodesInitTypeDef;
57 
61 typedef struct
62 {
63  uint32_t SynchroMode;
66  uint32_t PCKPolarity;
69  uint32_t VSPolarity;
72  uint32_t HSPolarity;
75  uint32_t CaptureRate;
78  uint32_t ExtendedDataMode;
81  DCMI_CodesInitTypeDef SyncroCode;
83  uint32_t JPEGMode;
85 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
86  uint32_t ByteSelectMode;
89  uint32_t ByteSelectStart;
92  uint32_t LineSelectMode;
95  uint32_t LineSelectStart;
98 #endif /* STM32F446xx || STM32F469xx || STM32F479xx */
100 
105 /* Exported constants --------------------------------------------------------*/
106 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
114 #define DCMI_BSM_ALL 0x00000000U
115 #define DCMI_BSM_OTHER ((uint32_t)DCMI_CR_BSM_0)
116 #define DCMI_BSM_ALTERNATE_4 ((uint32_t)DCMI_CR_BSM_1)
117 #define DCMI_BSM_ALTERNATE_2 ((uint32_t)(DCMI_CR_BSM_0 | DCMI_CR_BSM_1))
126 #define DCMI_OEBS_ODD 0x00000000U
127 #define DCMI_OEBS_EVEN ((uint32_t)DCMI_CR_OEBS)
136 #define DCMI_LSM_ALL 0x00000000U
137 #define DCMI_LSM_ALTERNATE_2 ((uint32_t)DCMI_CR_LSM)
146 #define DCMI_OELS_ODD 0x00000000U
147 #define DCMI_OELS_EVEN ((uint32_t)DCMI_CR_OELS)
156 #endif /* STM32F446xx || STM32F469xx || STM32F479xx */
157 
158 /* Exported macro ------------------------------------------------------------*/
159 /* Exported functions --------------------------------------------------------*/
160 /* Private types -------------------------------------------------------------*/
161 /* Private variables ---------------------------------------------------------*/
162 /* Private constants ---------------------------------------------------------*/
163 #define DCMI_POSITION_ESCR_LSC (uint32_t)DCMI_ESCR_LSC_Pos
164 #define DCMI_POSITION_ESCR_LEC (uint32_t)DCMI_ESCR_LEC_Pos
165 #define DCMI_POSITION_ESCR_FEC (uint32_t)DCMI_ESCR_FEC_Pos
167 /* Private macro -------------------------------------------------------------*/
168 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
172 #define IS_DCMI_BYTE_SELECT_MODE(MODE)(((MODE) == DCMI_BSM_ALL) || \
173  ((MODE) == DCMI_BSM_OTHER) || \
174  ((MODE) == DCMI_BSM_ALTERNATE_4) || \
175  ((MODE) == DCMI_BSM_ALTERNATE_2))
176 
177 #define IS_DCMI_BYTE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OEBS_ODD) || \
178  ((POLARITY) == DCMI_OEBS_EVEN))
179 
180 #define IS_DCMI_LINE_SELECT_MODE(MODE)(((MODE) == DCMI_LSM_ALL) || \
181  ((MODE) == DCMI_LSM_ALTERNATE_2))
182 
183 #define IS_DCMI_LINE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OELS_ODD) || \
184  ((POLARITY) == DCMI_OELS_EVEN))
185 #endif /* STM32F446xx || STM32F469xx || STM32F479xx */
190 /* Private functions ---------------------------------------------------------*/
191 #endif /* STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\
192  STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||\
193  STM32F479xx */
194 
195 
204 #ifdef __cplusplus
205 }
206 #endif
207 
208 #endif /* __STM32F4xx_HAL_DCMI_H */
DCMI_CodesInitTypeDef SyncroCode
DCMI Init structure definition.
This file contains HAL common defines, enumeration, macros and structures definitions.