fix LPC812 PWM

Dependents:   IR_LED_Send

Fork of mbed-dev by mbed official

Committer:
mbed_official
Date:
Tue Nov 10 09:30:11 2015 +0000
Revision:
19:112740acecfa
Parent:
0:9b334a45a8ff
Synchronized with git revision 7218418919aeaf775fb8d386ea7ee0dfc0c80ff9

Full URL: https://github.com/mbedmicro/mbed/commit/7218418919aeaf775fb8d386ea7ee0dfc0c80ff9/

DISCO_F469NI - add disco F469NI support

Who changed what in which revision?

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