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