mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Wed Mar 19 10:15:22 2014 +0000
Revision:
125:23cc3068a9e4
Synchronized with git revision ace35dfba3748c7cdc102eb38ec6b9e1067c3252

Full URL: https://github.com/mbedmicro/mbed/commit/ace35dfba3748c7cdc102eb38ec6b9e1067c3252/

[NUCLEO_F302R8] Add cmsis and hal files + change F401RE clock to 84MHz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 125:23cc3068a9e4 1 /**
mbed_official 125:23cc3068a9e4 2 ******************************************************************************
mbed_official 125:23cc3068a9e4 3 * @file stm32f30x_comp.h
mbed_official 125:23cc3068a9e4 4 * @author MCD Application Team
mbed_official 125:23cc3068a9e4 5 * @version V1.1.0
mbed_official 125:23cc3068a9e4 6 * @date 27-February-2014
mbed_official 125:23cc3068a9e4 7 * @brief This file contains all the functions prototypes for the COMP firmware
mbed_official 125:23cc3068a9e4 8 * library.
mbed_official 125:23cc3068a9e4 9 ******************************************************************************
mbed_official 125:23cc3068a9e4 10 * @attention
mbed_official 125:23cc3068a9e4 11 *
mbed_official 125:23cc3068a9e4 12 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 125:23cc3068a9e4 13 *
mbed_official 125:23cc3068a9e4 14 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 125:23cc3068a9e4 15 * are permitted provided that the following conditions are met:
mbed_official 125:23cc3068a9e4 16 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 125:23cc3068a9e4 17 * this list of conditions and the following disclaimer.
mbed_official 125:23cc3068a9e4 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 125:23cc3068a9e4 19 * this list of conditions and the following disclaimer in the documentation
mbed_official 125:23cc3068a9e4 20 * and/or other materials provided with the distribution.
mbed_official 125:23cc3068a9e4 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 125:23cc3068a9e4 22 * may be used to endorse or promote products derived from this software
mbed_official 125:23cc3068a9e4 23 * without specific prior written permission.
mbed_official 125:23cc3068a9e4 24 *
mbed_official 125:23cc3068a9e4 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 125:23cc3068a9e4 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 125:23cc3068a9e4 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 125:23cc3068a9e4 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 125:23cc3068a9e4 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 125:23cc3068a9e4 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 125:23cc3068a9e4 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 125:23cc3068a9e4 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 125:23cc3068a9e4 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 125:23cc3068a9e4 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 125:23cc3068a9e4 35 *
mbed_official 125:23cc3068a9e4 36 ******************************************************************************
mbed_official 125:23cc3068a9e4 37 */
mbed_official 125:23cc3068a9e4 38
mbed_official 125:23cc3068a9e4 39 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 125:23cc3068a9e4 40 #ifndef __STM32F30x_COMP_H
mbed_official 125:23cc3068a9e4 41 #define __STM32F30x_COMP_H
mbed_official 125:23cc3068a9e4 42
mbed_official 125:23cc3068a9e4 43 #ifdef __cplusplus
mbed_official 125:23cc3068a9e4 44 extern "C" {
mbed_official 125:23cc3068a9e4 45 #endif
mbed_official 125:23cc3068a9e4 46
mbed_official 125:23cc3068a9e4 47 /* Includes ------------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 48 #include "stm32f30x.h"
mbed_official 125:23cc3068a9e4 49
mbed_official 125:23cc3068a9e4 50 /** @addtogroup STM32F30x_StdPeriph_Driver
mbed_official 125:23cc3068a9e4 51 * @{
mbed_official 125:23cc3068a9e4 52 */
mbed_official 125:23cc3068a9e4 53
mbed_official 125:23cc3068a9e4 54 /** @addtogroup COMP
mbed_official 125:23cc3068a9e4 55 * @{
mbed_official 125:23cc3068a9e4 56 */
mbed_official 125:23cc3068a9e4 57
mbed_official 125:23cc3068a9e4 58 /* Exported types ------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 59
mbed_official 125:23cc3068a9e4 60 /**
mbed_official 125:23cc3068a9e4 61 * @brief COMP Init structure definition
mbed_official 125:23cc3068a9e4 62 */
mbed_official 125:23cc3068a9e4 63
mbed_official 125:23cc3068a9e4 64 typedef struct
mbed_official 125:23cc3068a9e4 65 {
mbed_official 125:23cc3068a9e4 66
mbed_official 125:23cc3068a9e4 67 uint32_t COMP_InvertingInput; /*!< Selects the inverting input of the comparator.
mbed_official 125:23cc3068a9e4 68 This parameter can be a value of @ref COMP_InvertingInput */
mbed_official 125:23cc3068a9e4 69
mbed_official 125:23cc3068a9e4 70 uint32_t COMP_NonInvertingInput; /*!< Selects the non inverting input of the comparator.
mbed_official 125:23cc3068a9e4 71 This parameter can be a value of @ref COMP_NonInvertingInput */
mbed_official 125:23cc3068a9e4 72
mbed_official 125:23cc3068a9e4 73 uint32_t COMP_Output; /*!< Selects the output redirection of the comparator.
mbed_official 125:23cc3068a9e4 74 This parameter can be a value of @ref COMP_Output */
mbed_official 125:23cc3068a9e4 75
mbed_official 125:23cc3068a9e4 76 uint32_t COMP_BlankingSrce; /*!< Selects the output blanking source of the comparator.
mbed_official 125:23cc3068a9e4 77 This parameter can be a value of @ref COMP_BlankingSrce */
mbed_official 125:23cc3068a9e4 78
mbed_official 125:23cc3068a9e4 79 uint32_t COMP_OutputPol; /*!< Selects the output polarity of the comparator.
mbed_official 125:23cc3068a9e4 80 This parameter can be a value of @ref COMP_OutputPoloarity */
mbed_official 125:23cc3068a9e4 81
mbed_official 125:23cc3068a9e4 82 uint32_t COMP_Hysteresis; /*!< Selects the hysteresis voltage of the comparator.
mbed_official 125:23cc3068a9e4 83 This parameter can be a value of @ref COMP_Hysteresis */
mbed_official 125:23cc3068a9e4 84
mbed_official 125:23cc3068a9e4 85 uint32_t COMP_Mode; /*!< Selects the operating mode of the comparator
mbed_official 125:23cc3068a9e4 86 and allows to adjust the speed/consumption.
mbed_official 125:23cc3068a9e4 87 This parameter can be a value of @ref COMP_Mode */
mbed_official 125:23cc3068a9e4 88 }COMP_InitTypeDef;
mbed_official 125:23cc3068a9e4 89
mbed_official 125:23cc3068a9e4 90 /* Exported constants --------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 91
mbed_official 125:23cc3068a9e4 92 /** @defgroup COMP_Exported_Constants
mbed_official 125:23cc3068a9e4 93 * @{
mbed_official 125:23cc3068a9e4 94 */
mbed_official 125:23cc3068a9e4 95
mbed_official 125:23cc3068a9e4 96 /** @defgroup COMP_Selection
mbed_official 125:23cc3068a9e4 97 * @{
mbed_official 125:23cc3068a9e4 98 */
mbed_official 125:23cc3068a9e4 99
mbed_official 125:23cc3068a9e4 100 #define COMP_Selection_COMP1 ((uint32_t)0x00000000) /*!< COMP1 Selection */
mbed_official 125:23cc3068a9e4 101 #define COMP_Selection_COMP2 ((uint32_t)0x00000004) /*!< COMP2 Selection */
mbed_official 125:23cc3068a9e4 102 #define COMP_Selection_COMP3 ((uint32_t)0x00000008) /*!< COMP3 Selection */
mbed_official 125:23cc3068a9e4 103 #define COMP_Selection_COMP4 ((uint32_t)0x0000000C) /*!< COMP4 Selection */
mbed_official 125:23cc3068a9e4 104 #define COMP_Selection_COMP5 ((uint32_t)0x00000010) /*!< COMP5 Selection */
mbed_official 125:23cc3068a9e4 105 #define COMP_Selection_COMP6 ((uint32_t)0x00000014) /*!< COMP6 Selection */
mbed_official 125:23cc3068a9e4 106 #define COMP_Selection_COMP7 ((uint32_t)0x00000018) /*!< COMP7 Selection */
mbed_official 125:23cc3068a9e4 107
mbed_official 125:23cc3068a9e4 108 #define IS_COMP_ALL_PERIPH(PERIPH) (((PERIPH) == COMP_Selection_COMP1) || \
mbed_official 125:23cc3068a9e4 109 ((PERIPH) == COMP_Selection_COMP2) || \
mbed_official 125:23cc3068a9e4 110 ((PERIPH) == COMP_Selection_COMP3) || \
mbed_official 125:23cc3068a9e4 111 ((PERIPH) == COMP_Selection_COMP4) || \
mbed_official 125:23cc3068a9e4 112 ((PERIPH) == COMP_Selection_COMP5) || \
mbed_official 125:23cc3068a9e4 113 ((PERIPH) == COMP_Selection_COMP6) || \
mbed_official 125:23cc3068a9e4 114 ((PERIPH) == COMP_Selection_COMP7))
mbed_official 125:23cc3068a9e4 115
mbed_official 125:23cc3068a9e4 116 /**
mbed_official 125:23cc3068a9e4 117 * @}
mbed_official 125:23cc3068a9e4 118 */
mbed_official 125:23cc3068a9e4 119
mbed_official 125:23cc3068a9e4 120 /** @defgroup COMP_InvertingInput
mbed_official 125:23cc3068a9e4 121 * @{
mbed_official 125:23cc3068a9e4 122 */
mbed_official 125:23cc3068a9e4 123
mbed_official 125:23cc3068a9e4 124 #define COMP_InvertingInput_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 125 #define COMP_InvertingInput_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 126 #define COMP_InvertingInput_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 127 #define COMP_InvertingInput_VREFINT ((uint32_t)0x00000030) /*!< VREFINT connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 128 #define COMP_InvertingInput_DAC1OUT1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_OUT1 (PA4) connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 129 #define COMP_InvertingInput_DAC1OUT2 ((uint32_t)0x00000050) /*!< DAC1_OUT2 (PA5) connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 130
mbed_official 125:23cc3068a9e4 131 #define COMP_InvertingInput_IO1 ((uint32_t)0x00000060) /*!< I/O1 (PA0 for COMP1, PA2 for COMP2, PD15 for COMP3,
mbed_official 125:23cc3068a9e4 132 PE8 for COMP4, PD13 for COMP5, PD10 for COMP6,
mbed_official 125:23cc3068a9e4 133 PC0 for COMP7) connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 134
mbed_official 125:23cc3068a9e4 135 #define COMP_InvertingInput_IO2 COMP_CSR_COMPxINSEL /*!< I/O2 (PB12 for COMP3, PB2 for COMP4, PB10 for COMP5,
mbed_official 125:23cc3068a9e4 136 PB15 for COMP6) connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 137
mbed_official 125:23cc3068a9e4 138 #define COMP_InvertingInput_DAC2OUT1 COMP_CSR_COMPxINSEL_3 /*!< DAC2_OUT1 (PA6) connected to comparator inverting input */
mbed_official 125:23cc3068a9e4 139
mbed_official 125:23cc3068a9e4 140 #define IS_COMP_INVERTING_INPUT(INPUT) (((INPUT) == COMP_InvertingInput_1_4VREFINT) || \
mbed_official 125:23cc3068a9e4 141 ((INPUT) == COMP_InvertingInput_1_2VREFINT) || \
mbed_official 125:23cc3068a9e4 142 ((INPUT) == COMP_InvertingInput_3_4VREFINT) || \
mbed_official 125:23cc3068a9e4 143 ((INPUT) == COMP_InvertingInput_VREFINT) || \
mbed_official 125:23cc3068a9e4 144 ((INPUT) == COMP_InvertingInput_DAC1OUT1) || \
mbed_official 125:23cc3068a9e4 145 ((INPUT) == COMP_InvertingInput_DAC1OUT2) || \
mbed_official 125:23cc3068a9e4 146 ((INPUT) == COMP_InvertingInput_IO1) || \
mbed_official 125:23cc3068a9e4 147 ((INPUT) == COMP_InvertingInput_IO2) || \
mbed_official 125:23cc3068a9e4 148 ((INPUT) == COMP_InvertingInput_DAC2OUT1))
mbed_official 125:23cc3068a9e4 149 /**
mbed_official 125:23cc3068a9e4 150 * @}
mbed_official 125:23cc3068a9e4 151 */
mbed_official 125:23cc3068a9e4 152
mbed_official 125:23cc3068a9e4 153 /** @defgroup COMP_NonInvertingInput
mbed_official 125:23cc3068a9e4 154 * @{
mbed_official 125:23cc3068a9e4 155 */
mbed_official 125:23cc3068a9e4 156
mbed_official 125:23cc3068a9e4 157 #define COMP_NonInvertingInput_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA1 for COMP1, PA7 for COMP2, PB14 for COMP3,
mbed_official 125:23cc3068a9e4 158 PB0 for COMP4, PD12 for COMP5, PD11 for COMP6,
mbed_official 125:23cc3068a9e4 159 PA0 for COMP7) connected to comparator non inverting input */
mbed_official 125:23cc3068a9e4 160
mbed_official 125:23cc3068a9e4 161 #define COMP_NonInvertingInput_IO2 COMP_CSR_COMPxNONINSEL /*!< I/O2 (PA3 for COMP2, PD14 for COMP3, PE7 for COMP4, PB13 for COMP5,
mbed_official 125:23cc3068a9e4 162 PB11 for COMP6, PC1 for COMP7) connected to comparator non inverting input */
mbed_official 125:23cc3068a9e4 163
mbed_official 125:23cc3068a9e4 164 #define IS_COMP_NONINVERTING_INPUT(INPUT) (((INPUT) == COMP_NonInvertingInput_IO1) || \
mbed_official 125:23cc3068a9e4 165 ((INPUT) == COMP_NonInvertingInput_IO2))
mbed_official 125:23cc3068a9e4 166 /**
mbed_official 125:23cc3068a9e4 167 * @}
mbed_official 125:23cc3068a9e4 168 */
mbed_official 125:23cc3068a9e4 169
mbed_official 125:23cc3068a9e4 170 /** @defgroup COMP_Output
mbed_official 125:23cc3068a9e4 171 * @{
mbed_official 125:23cc3068a9e4 172 */
mbed_official 125:23cc3068a9e4 173
mbed_official 125:23cc3068a9e4 174 #define COMP_Output_None ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 125:23cc3068a9e4 175
mbed_official 125:23cc3068a9e4 176 /* Output Redirection common for all comparators COMP1...COMP7 */
mbed_official 125:23cc3068a9e4 177 #define COMP_Output_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 125:23cc3068a9e4 178 #define COMP_Output_TIM1BKIN2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 125:23cc3068a9e4 179 #define COMP_Output_TIM8BKIN ((uint32_t)0x00000C00) /*!< COMP output connected to TIM8 Break Input (BKIN) */
mbed_official 125:23cc3068a9e4 180 #define COMP_Output_TIM8BKIN2 ((uint32_t)0x00001000) /*!< COMP output connected to TIM8 Break Input 2 (BKIN2) */
mbed_official 125:23cc3068a9e4 181 #define COMP_Output_TIM1BKIN2_TIM8BKIN2 ((uint32_t)0x00001400) /*!< COMP output connected to TIM1 Break Input 2 and TIM8 Break Input 2 */
mbed_official 125:23cc3068a9e4 182
mbed_official 125:23cc3068a9e4 183 /* Output Redirection common for COMP1 and COMP2 */
mbed_official 125:23cc3068a9e4 184 #define COMP_Output_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 125:23cc3068a9e4 185 #define COMP_Output_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 125:23cc3068a9e4 186 #define COMP_Output_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 125:23cc3068a9e4 187 #define COMP_Output_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 125:23cc3068a9e4 188 #define COMP_Output_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 125:23cc3068a9e4 189 #define COMP_Output_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 125:23cc3068a9e4 190
mbed_official 125:23cc3068a9e4 191 /* Output Redirection specific to COMP2 */
mbed_official 125:23cc3068a9e4 192 #define COMP_Output_HRTIM1_FLT6 ((uint32_t)0x00003000) /*!< COMP output connected to HRTIM1 FLT6 */
mbed_official 125:23cc3068a9e4 193 #define COMP_Output_HRTIM1_EE1_2 ((uint32_t)0x00003400) /*!< COMP output connected to HRTIM1 EE1_2*/
mbed_official 125:23cc3068a9e4 194 #define COMP_Output_HRTIM1_EE6_2 ((uint32_t)0x00003800) /*!< COMP output connected to HRTIM1 EE6_2 */
mbed_official 125:23cc3068a9e4 195
mbed_official 125:23cc3068a9e4 196 /* Output Redirection specific to COMP3 */
mbed_official 125:23cc3068a9e4 197 #define COMP_Output_TIM4IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM4 Input Capture 1 */
mbed_official 125:23cc3068a9e4 198 #define COMP_Output_TIM3IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM3 Input Capture 2 */
mbed_official 125:23cc3068a9e4 199 #define COMP_Output_TIM15IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 Input Capture 1 */
mbed_official 125:23cc3068a9e4 200 #define COMP_Output_TIM15BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM15 Break Input (BKIN) */
mbed_official 125:23cc3068a9e4 201
mbed_official 125:23cc3068a9e4 202 /* Output Redirection specific to COMP4 */
mbed_official 125:23cc3068a9e4 203 #define COMP_Output_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 125:23cc3068a9e4 204 #define COMP_Output_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 125:23cc3068a9e4 205 #define COMP_Output_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 125:23cc3068a9e4 206 #define COMP_Output_TIM4IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 2 */
mbed_official 125:23cc3068a9e4 207 #define COMP_Output_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 125:23cc3068a9e4 208
mbed_official 125:23cc3068a9e4 209 #define COMP_Output_HRTIM1_FLT7 ((uint32_t)0x00003000) /*!< COMP output connected to HRTIM1 FLT7 */
mbed_official 125:23cc3068a9e4 210 #define COMP_Output_HRTIM1_EE2_2 ((uint32_t)0x00003400) /*!< COMP output connected to HRTIM1 EE2_2*/
mbed_official 125:23cc3068a9e4 211 #define COMP_Output_HRTIM1_EE7_2 ((uint32_t)0x00003800) /*!< COMP output connected to HRTIM1 EE7_2 */
mbed_official 125:23cc3068a9e4 212
mbed_official 125:23cc3068a9e4 213 /* Output Redirection specific to COMP5 */
mbed_official 125:23cc3068a9e4 214 #define COMP_Output_TIM2IC1 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 1 */
mbed_official 125:23cc3068a9e4 215 #define COMP_Output_TIM17IC1 ((uint32_t)0x00002000) /*!< COMP output connected to TIM17 Input Capture 1 */
mbed_official 125:23cc3068a9e4 216 #define COMP_Output_TIM4IC3 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 3 */
mbed_official 125:23cc3068a9e4 217 #define COMP_Output_TIM16BKIN ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 125:23cc3068a9e4 218
mbed_official 125:23cc3068a9e4 219 /* Output Redirection specific to COMP6 */
mbed_official 125:23cc3068a9e4 220 #define COMP_Output_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 125:23cc3068a9e4 221 #define COMP_Output_COMP6TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 125:23cc3068a9e4 222 #define COMP_Output_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 125:23cc3068a9e4 223 #define COMP_Output_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 125:23cc3068a9e4 224 #define COMP_Output_TIM4IC4 ((uint32_t)0x00002C00) /*!< COMP output connected to TIM4 Input Capture 4 */
mbed_official 125:23cc3068a9e4 225
mbed_official 125:23cc3068a9e4 226 #define COMP_Output_HRTIM1_FLT8 ((uint32_t)0x00003000) /*!< COMP output connected to HRTIM1 FLT8 */
mbed_official 125:23cc3068a9e4 227 #define COMP_Output_HRTIM1_EE3_2 ((uint32_t)0x00003400) /*!< COMP output connected to HRTIM1 EE3_2*/
mbed_official 125:23cc3068a9e4 228 #define COMP_Output_HRTIM1_EE8_2 ((uint32_t)0x00003800) /*!< COMP output connected to HRTIM1 EE8_2 */
mbed_official 125:23cc3068a9e4 229
mbed_official 125:23cc3068a9e4 230 /* Output Redirection specific to COMP7 */
mbed_official 125:23cc3068a9e4 231 #define COMP_Output_TIM2IC3 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 3 */
mbed_official 125:23cc3068a9e4 232 #define COMP_Output_TIM1IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM1 Input Capture 2 */
mbed_official 125:23cc3068a9e4 233 #define COMP_Output_TIM17OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 125:23cc3068a9e4 234 #define COMP_Output_TIM17BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 125:23cc3068a9e4 235
mbed_official 125:23cc3068a9e4 236 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_Output_None) || \
mbed_official 125:23cc3068a9e4 237 ((OUTPUT) == COMP_Output_TIM1BKIN) || \
mbed_official 125:23cc3068a9e4 238 ((OUTPUT) == COMP_Output_TIM1IC1) || \
mbed_official 125:23cc3068a9e4 239 ((OUTPUT) == COMP_Output_TIM1OCREFCLR) || \
mbed_official 125:23cc3068a9e4 240 ((OUTPUT) == COMP_Output_TIM2IC4) || \
mbed_official 125:23cc3068a9e4 241 ((OUTPUT) == COMP_Output_TIM2OCREFCLR) || \
mbed_official 125:23cc3068a9e4 242 ((OUTPUT) == COMP_Output_COMP6TIM2OCREFCLR) || \
mbed_official 125:23cc3068a9e4 243 ((OUTPUT) == COMP_Output_TIM3IC1) || \
mbed_official 125:23cc3068a9e4 244 ((OUTPUT) == COMP_Output_TIM3OCREFCLR) || \
mbed_official 125:23cc3068a9e4 245 ((OUTPUT) == COMP_Output_TIM8BKIN) || \
mbed_official 125:23cc3068a9e4 246 ((OUTPUT) == COMP_Output_TIM1BKIN2) || \
mbed_official 125:23cc3068a9e4 247 ((OUTPUT) == COMP_Output_TIM8BKIN2) || \
mbed_official 125:23cc3068a9e4 248 ((OUTPUT) == COMP_Output_TIM2OCREFCLR) || \
mbed_official 125:23cc3068a9e4 249 ((OUTPUT) == COMP_Output_TIM1BKIN2_TIM8BKIN2) || \
mbed_official 125:23cc3068a9e4 250 ((OUTPUT) == COMP_Output_TIM3IC2) || \
mbed_official 125:23cc3068a9e4 251 ((OUTPUT) == COMP_Output_TIM4IC1) || \
mbed_official 125:23cc3068a9e4 252 ((OUTPUT) == COMP_Output_TIM15IC1) || \
mbed_official 125:23cc3068a9e4 253 ((OUTPUT) == COMP_Output_TIM15BKIN) || \
mbed_official 125:23cc3068a9e4 254 ((OUTPUT) == COMP_Output_TIM8OCREFCLR) || \
mbed_official 125:23cc3068a9e4 255 ((OUTPUT) == COMP_Output_TIM3IC3) || \
mbed_official 125:23cc3068a9e4 256 ((OUTPUT) == COMP_Output_TIM4IC1) || \
mbed_official 125:23cc3068a9e4 257 ((OUTPUT) == COMP_Output_TIM15IC1) || \
mbed_official 125:23cc3068a9e4 258 ((OUTPUT) == COMP_Output_TIM2IC1) || \
mbed_official 125:23cc3068a9e4 259 ((OUTPUT) == COMP_Output_TIM4IC3) || \
mbed_official 125:23cc3068a9e4 260 ((OUTPUT) == COMP_Output_TIM16BKIN) || \
mbed_official 125:23cc3068a9e4 261 ((OUTPUT) == COMP_Output_TIM17IC1) || \
mbed_official 125:23cc3068a9e4 262 ((OUTPUT) == COMP_Output_TIM2IC2) || \
mbed_official 125:23cc3068a9e4 263 ((OUTPUT) == COMP_Output_TIM16IC1) || \
mbed_official 125:23cc3068a9e4 264 ((OUTPUT) == COMP_Output_TIM4IC4) || \
mbed_official 125:23cc3068a9e4 265 ((OUTPUT) == COMP_Output_TIM16OCREFCLR) || \
mbed_official 125:23cc3068a9e4 266 ((OUTPUT) == COMP_Output_TIM2IC3) || \
mbed_official 125:23cc3068a9e4 267 ((OUTPUT) == COMP_Output_TIM1IC2) || \
mbed_official 125:23cc3068a9e4 268 ((OUTPUT) == COMP_Output_TIM17BKIN) || \
mbed_official 125:23cc3068a9e4 269 ((OUTPUT) == COMP_Output_TIM17OCREFCLR) || \
mbed_official 125:23cc3068a9e4 270 ((OUTPUT) == COMP_Output_HRTIM1_FLT6) || \
mbed_official 125:23cc3068a9e4 271 ((OUTPUT) == COMP_Output_HRTIM1_EE1_2) || \
mbed_official 125:23cc3068a9e4 272 ((OUTPUT) == COMP_Output_HRTIM1_EE6_2) || \
mbed_official 125:23cc3068a9e4 273 ((OUTPUT) == COMP_Output_HRTIM1_FLT7) || \
mbed_official 125:23cc3068a9e4 274 ((OUTPUT) == COMP_Output_HRTIM1_EE2_2) || \
mbed_official 125:23cc3068a9e4 275 ((OUTPUT) == COMP_Output_HRTIM1_EE7_2) || \
mbed_official 125:23cc3068a9e4 276 ((OUTPUT) == COMP_Output_HRTIM1_FLT8) || \
mbed_official 125:23cc3068a9e4 277 ((OUTPUT) == COMP_Output_HRTIM1_EE3_2) || \
mbed_official 125:23cc3068a9e4 278 ((OUTPUT) == COMP_Output_HRTIM1_EE8_2))
mbed_official 125:23cc3068a9e4 279
mbed_official 125:23cc3068a9e4 280 /**
mbed_official 125:23cc3068a9e4 281 * @}
mbed_official 125:23cc3068a9e4 282 */
mbed_official 125:23cc3068a9e4 283
mbed_official 125:23cc3068a9e4 284 /** @defgroup COMP_BlankingSrce
mbed_official 125:23cc3068a9e4 285 * @{
mbed_official 125:23cc3068a9e4 286 */
mbed_official 125:23cc3068a9e4 287
mbed_official 125:23cc3068a9e4 288 /* No blanking source can be selected for all comparators */
mbed_official 125:23cc3068a9e4 289 #define COMP_BlankingSrce_None ((uint32_t)0x00000000) /*!< No blanking source */
mbed_official 125:23cc3068a9e4 290
mbed_official 125:23cc3068a9e4 291 /* Blanking source common for COMP1, COMP2, COMP3 and COMP7 */
mbed_official 125:23cc3068a9e4 292 #define COMP_BlankingSrce_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 293
mbed_official 125:23cc3068a9e4 294 /* Blanking source common for COMP1 and COMP2 */
mbed_official 125:23cc3068a9e4 295 #define COMP_BlankingSrce_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC5 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 296
mbed_official 125:23cc3068a9e4 297 /* Blanking source common for COMP1, COMP2 and COMP5 */
mbed_official 125:23cc3068a9e4 298 #define COMP_BlankingSrce_TIM3OC3 ((uint32_t)0x000C0000) /*!< TIM2 OC3 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 299
mbed_official 125:23cc3068a9e4 300 /* Blanking source common for COMP3 and COMP6 */
mbed_official 125:23cc3068a9e4 301 #define COMP_BlankingSrce_TIM2OC4 ((uint32_t)0x000C0000) /*!< TIM2 OC4 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 302
mbed_official 125:23cc3068a9e4 303 /* Blanking source common for COMP4, COMP5, COMP6 and COMP7 */
mbed_official 125:23cc3068a9e4 304 #define COMP_BlankingSrce_TIM8OC5 COMP_CSR_COMPxBLANKING_1 /*!< TIM8 OC5 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 305
mbed_official 125:23cc3068a9e4 306 /* Blanking source for COMP4 */
mbed_official 125:23cc3068a9e4 307 #define COMP_BlankingSrce_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 308 #define COMP_BlankingSrce_TIM15OC1 ((uint32_t)0x000C0000) /*!< TIM15 OC1 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 309
mbed_official 125:23cc3068a9e4 310 /* Blanking source common for COMP6 and COMP7 */
mbed_official 125:23cc3068a9e4 311 #define COMP_BlankingSrce_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for compartor */
mbed_official 125:23cc3068a9e4 312
mbed_official 125:23cc3068a9e4 313 #define IS_COMP_BLANKING_SOURCE(SOURCE) (((SOURCE) == COMP_BlankingSrce_None) || \
mbed_official 125:23cc3068a9e4 314 ((SOURCE) == COMP_BlankingSrce_TIM1OC5) || \
mbed_official 125:23cc3068a9e4 315 ((SOURCE) == COMP_BlankingSrce_TIM2OC3) || \
mbed_official 125:23cc3068a9e4 316 ((SOURCE) == COMP_BlankingSrce_TIM3OC3) || \
mbed_official 125:23cc3068a9e4 317 ((SOURCE) == COMP_BlankingSrce_TIM2OC4) || \
mbed_official 125:23cc3068a9e4 318 ((SOURCE) == COMP_BlankingSrce_TIM8OC5) || \
mbed_official 125:23cc3068a9e4 319 ((SOURCE) == COMP_BlankingSrce_TIM3OC4) || \
mbed_official 125:23cc3068a9e4 320 ((SOURCE) == COMP_BlankingSrce_TIM15OC1) || \
mbed_official 125:23cc3068a9e4 321 ((SOURCE) == COMP_BlankingSrce_TIM15OC2))
mbed_official 125:23cc3068a9e4 322 /**
mbed_official 125:23cc3068a9e4 323 * @}
mbed_official 125:23cc3068a9e4 324 */
mbed_official 125:23cc3068a9e4 325
mbed_official 125:23cc3068a9e4 326 /** @defgroup COMP_OutputPoloarity
mbed_official 125:23cc3068a9e4 327 * @{
mbed_official 125:23cc3068a9e4 328 */
mbed_official 125:23cc3068a9e4 329 #define COMP_OutputPol_NonInverted ((uint32_t)0x00000000) /*!< COMP output on GPIO isn't inverted */
mbed_official 125:23cc3068a9e4 330 #define COMP_OutputPol_Inverted COMP_CSR_COMPxPOL /*!< COMP output on GPIO is inverted */
mbed_official 125:23cc3068a9e4 331
mbed_official 125:23cc3068a9e4 332 #define IS_COMP_OUTPUT_POL(POL) (((POL) == COMP_OutputPol_NonInverted) || \
mbed_official 125:23cc3068a9e4 333 ((POL) == COMP_OutputPol_Inverted))
mbed_official 125:23cc3068a9e4 334
mbed_official 125:23cc3068a9e4 335 /**
mbed_official 125:23cc3068a9e4 336 * @}
mbed_official 125:23cc3068a9e4 337 */
mbed_official 125:23cc3068a9e4 338
mbed_official 125:23cc3068a9e4 339 /** @defgroup COMP_Hysteresis
mbed_official 125:23cc3068a9e4 340 * @{
mbed_official 125:23cc3068a9e4 341 */
mbed_official 125:23cc3068a9e4 342 /* Please refer to the electrical characteristics in the device datasheet for
mbed_official 125:23cc3068a9e4 343 the hysteresis level */
mbed_official 125:23cc3068a9e4 344 #define COMP_Hysteresis_No 0x00000000 /*!< No hysteresis */
mbed_official 125:23cc3068a9e4 345 #define COMP_Hysteresis_Low COMP_CSR_COMPxHYST_0 /*!< Hysteresis level low */
mbed_official 125:23cc3068a9e4 346 #define COMP_Hysteresis_Medium COMP_CSR_COMPxHYST_1 /*!< Hysteresis level medium */
mbed_official 125:23cc3068a9e4 347 #define COMP_Hysteresis_High COMP_CSR_COMPxHYST /*!< Hysteresis level high */
mbed_official 125:23cc3068a9e4 348
mbed_official 125:23cc3068a9e4 349 #define IS_COMP_HYSTERESIS(HYSTERESIS) (((HYSTERESIS) == COMP_Hysteresis_No) || \
mbed_official 125:23cc3068a9e4 350 ((HYSTERESIS) == COMP_Hysteresis_Low) || \
mbed_official 125:23cc3068a9e4 351 ((HYSTERESIS) == COMP_Hysteresis_Medium) || \
mbed_official 125:23cc3068a9e4 352 ((HYSTERESIS) == COMP_Hysteresis_High))
mbed_official 125:23cc3068a9e4 353 /**
mbed_official 125:23cc3068a9e4 354 * @}
mbed_official 125:23cc3068a9e4 355 */
mbed_official 125:23cc3068a9e4 356
mbed_official 125:23cc3068a9e4 357 /** @defgroup COMP_Mode
mbed_official 125:23cc3068a9e4 358 * @{
mbed_official 125:23cc3068a9e4 359 */
mbed_official 125:23cc3068a9e4 360 /* Please refer to the electrical characteristics in the device datasheet for
mbed_official 125:23cc3068a9e4 361 the power consumption values */
mbed_official 125:23cc3068a9e4 362 #define COMP_Mode_HighSpeed 0x00000000 /*!< High Speed */
mbed_official 125:23cc3068a9e4 363 #define COMP_Mode_MediumSpeed COMP_CSR_COMPxMODE_0 /*!< Medium Speed */
mbed_official 125:23cc3068a9e4 364 #define COMP_Mode_LowPower COMP_CSR_COMPxMODE_1 /*!< Low power mode */
mbed_official 125:23cc3068a9e4 365 #define COMP_Mode_UltraLowPower COMP_CSR_COMPxMODE /*!< Ultra-low power mode */
mbed_official 125:23cc3068a9e4 366
mbed_official 125:23cc3068a9e4 367 #define IS_COMP_MODE(MODE) (((MODE) == COMP_Mode_UltraLowPower) || \
mbed_official 125:23cc3068a9e4 368 ((MODE) == COMP_Mode_LowPower) || \
mbed_official 125:23cc3068a9e4 369 ((MODE) == COMP_Mode_MediumSpeed) || \
mbed_official 125:23cc3068a9e4 370 ((MODE) == COMP_Mode_HighSpeed))
mbed_official 125:23cc3068a9e4 371 /**
mbed_official 125:23cc3068a9e4 372 * @}
mbed_official 125:23cc3068a9e4 373 */
mbed_official 125:23cc3068a9e4 374
mbed_official 125:23cc3068a9e4 375 /** @defgroup COMP_OutputLevel
mbed_official 125:23cc3068a9e4 376 * @{
mbed_official 125:23cc3068a9e4 377 */
mbed_official 125:23cc3068a9e4 378 /* When output polarity is not inverted, comparator output is high when
mbed_official 125:23cc3068a9e4 379 the non-inverting input is at a higher voltage than the inverting input */
mbed_official 125:23cc3068a9e4 380 #define COMP_OutputLevel_High COMP_CSR_COMPxOUT
mbed_official 125:23cc3068a9e4 381 /* When output polarity is not inverted, comparator output is low when
mbed_official 125:23cc3068a9e4 382 the non-inverting input is at a lower voltage than the inverting input*/
mbed_official 125:23cc3068a9e4 383 #define COMP_OutputLevel_Low ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 384
mbed_official 125:23cc3068a9e4 385 /**
mbed_official 125:23cc3068a9e4 386 * @}
mbed_official 125:23cc3068a9e4 387 */
mbed_official 125:23cc3068a9e4 388
mbed_official 125:23cc3068a9e4 389 /** @defgroup COMP_WindowMode
mbed_official 125:23cc3068a9e4 390 * @{
mbed_official 125:23cc3068a9e4 391 */
mbed_official 125:23cc3068a9e4 392 #define IS_COMP_WINDOW(WINDOW) (((WINDOW) == COMP_Selection_COMP2) || \
mbed_official 125:23cc3068a9e4 393 ((WINDOW) == COMP_Selection_COMP4) || \
mbed_official 125:23cc3068a9e4 394 ((WINDOW) == COMP_Selection_COMP6))
mbed_official 125:23cc3068a9e4 395 /**
mbed_official 125:23cc3068a9e4 396 * @}
mbed_official 125:23cc3068a9e4 397 */
mbed_official 125:23cc3068a9e4 398
mbed_official 125:23cc3068a9e4 399 /**
mbed_official 125:23cc3068a9e4 400 * @}
mbed_official 125:23cc3068a9e4 401 */
mbed_official 125:23cc3068a9e4 402
mbed_official 125:23cc3068a9e4 403 /* Exported macro ------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 404 /* Exported functions ------------------------------------------------------- */
mbed_official 125:23cc3068a9e4 405
mbed_official 125:23cc3068a9e4 406 /* Function used to set the COMP configuration to the default reset state ****/
mbed_official 125:23cc3068a9e4 407 void COMP_DeInit(uint32_t COMP_Selection);
mbed_official 125:23cc3068a9e4 408
mbed_official 125:23cc3068a9e4 409 /* Initialization and Configuration functions *********************************/
mbed_official 125:23cc3068a9e4 410 void COMP_Init(uint32_t COMP_Selection, COMP_InitTypeDef* COMP_InitStruct);
mbed_official 125:23cc3068a9e4 411 void COMP_StructInit(COMP_InitTypeDef* COMP_InitStruct);
mbed_official 125:23cc3068a9e4 412 void COMP_Cmd(uint32_t COMP_Selection, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 413 void COMP_SwitchCmd(uint32_t COMP_Selection, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 414 uint32_t COMP_GetOutputLevel(uint32_t COMP_Selection);
mbed_official 125:23cc3068a9e4 415
mbed_official 125:23cc3068a9e4 416 /* Window mode control function ***********************************************/
mbed_official 125:23cc3068a9e4 417 void COMP_WindowCmd(uint32_t COMP_Selection, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 418
mbed_official 125:23cc3068a9e4 419 /* COMP configuration locking function ****************************************/
mbed_official 125:23cc3068a9e4 420 void COMP_LockConfig(uint32_t COMP_Selection);
mbed_official 125:23cc3068a9e4 421
mbed_official 125:23cc3068a9e4 422 #ifdef __cplusplus
mbed_official 125:23cc3068a9e4 423 }
mbed_official 125:23cc3068a9e4 424 #endif
mbed_official 125:23cc3068a9e4 425
mbed_official 125:23cc3068a9e4 426 #endif /*__STM32F30x_COMP_H */
mbed_official 125:23cc3068a9e4 427
mbed_official 125:23cc3068a9e4 428 /**
mbed_official 125:23cc3068a9e4 429 * @}
mbed_official 125:23cc3068a9e4 430 */
mbed_official 125:23cc3068a9e4 431
mbed_official 125:23cc3068a9e4 432 /**
mbed_official 125:23cc3068a9e4 433 * @}
mbed_official 125:23cc3068a9e4 434 */
mbed_official 125:23cc3068a9e4 435
mbed_official 125:23cc3068a9e4 436 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/