mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Parent:
385:be64abf45658
Child:
634:ac7d6880524d
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

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

NUCLEO_F303K8 - add support of the STM32F303K8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 330:c80ac197fa6a 1 /**
mbed_official 330:c80ac197fa6a 2 ******************************************************************************
mbed_official 330:c80ac197fa6a 3 * @file stm32f3xx_hal_comp_ex.h
mbed_official 330:c80ac197fa6a 4 * @author MCD Application Team
mbed_official 632:7687fb9c4f91 5 * @version V1.1.1
mbed_official 632:7687fb9c4f91 6 * @date 19-June-2015
mbed_official 330:c80ac197fa6a 7 * @brief Header file of COMP HAL Extended module.
mbed_official 330:c80ac197fa6a 8 ******************************************************************************
mbed_official 330:c80ac197fa6a 9 * @attention
mbed_official 330:c80ac197fa6a 10 *
mbed_official 632:7687fb9c4f91 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 330:c80ac197fa6a 12 *
mbed_official 330:c80ac197fa6a 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 330:c80ac197fa6a 14 * are permitted provided that the following conditions are met:
mbed_official 330:c80ac197fa6a 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 330:c80ac197fa6a 16 * this list of conditions and the following disclaimer.
mbed_official 330:c80ac197fa6a 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 330:c80ac197fa6a 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 330:c80ac197fa6a 19 * and/or other materials provided with the distribution.
mbed_official 330:c80ac197fa6a 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 330:c80ac197fa6a 21 * may be used to endorse or promote products derived from this software
mbed_official 330:c80ac197fa6a 22 * without specific prior written permission.
mbed_official 330:c80ac197fa6a 23 *
mbed_official 330:c80ac197fa6a 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 330:c80ac197fa6a 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 330:c80ac197fa6a 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 330:c80ac197fa6a 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 330:c80ac197fa6a 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 330:c80ac197fa6a 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 330:c80ac197fa6a 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 330:c80ac197fa6a 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 330:c80ac197fa6a 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 330:c80ac197fa6a 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 330:c80ac197fa6a 34 *
mbed_official 330:c80ac197fa6a 35 ******************************************************************************
mbed_official 330:c80ac197fa6a 36 */
mbed_official 330:c80ac197fa6a 37
mbed_official 330:c80ac197fa6a 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 330:c80ac197fa6a 39 #ifndef __STM32F3xx_HAL_COMP_EX_H
mbed_official 330:c80ac197fa6a 40 #define __STM32F3xx_HAL_COMP_EX_H
mbed_official 330:c80ac197fa6a 41
mbed_official 330:c80ac197fa6a 42 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 43 extern "C" {
mbed_official 330:c80ac197fa6a 44 #endif
mbed_official 330:c80ac197fa6a 45
mbed_official 330:c80ac197fa6a 46 /* Includes ------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 47 #include "stm32f3xx_hal_def.h"
mbed_official 330:c80ac197fa6a 48
mbed_official 330:c80ac197fa6a 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 330:c80ac197fa6a 50 * @{
mbed_official 330:c80ac197fa6a 51 */
mbed_official 330:c80ac197fa6a 52
mbed_official 330:c80ac197fa6a 53 /** @defgroup COMPEx COMP Extended HAL module driver
mbed_official 330:c80ac197fa6a 54 * @{
mbed_official 330:c80ac197fa6a 55 */
mbed_official 330:c80ac197fa6a 56
mbed_official 330:c80ac197fa6a 57 /* Exported types ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 58 /* Exported constants --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 59 /** @defgroup COMPEx_Exported_Constants COMP Extended Exported Constants
mbed_official 330:c80ac197fa6a 60 * @{
mbed_official 330:c80ac197fa6a 61 */
mbed_official 330:c80ac197fa6a 62
mbed_official 330:c80ac197fa6a 63 #if defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx) || \
mbed_official 330:c80ac197fa6a 64 defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 65 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F302xE/STM32F303xE/STM32F398xx/STM32F302xC/STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 66 * @{
mbed_official 330:c80ac197fa6a 67 */
mbed_official 330:c80ac197fa6a 68 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 69 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 70 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 71 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 72 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 73 #define COMP_INVERTINGINPUT_DAC1_CH2 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 74 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< I/O1 (PA0 for COMP1, PA2 for COMP2, PD15 for COMP3,
mbed_official 330:c80ac197fa6a 75 PE8 for COMP4, PD13 for COMP5, PD10 for COMP6,
mbed_official 330:c80ac197fa6a 76 PC0 for COMP7) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 77 #define COMP_INVERTINGINPUT_IO2 COMP_CSR_COMPxINSEL /*!< I/O2 (PB12 for COMP3, PB2 for COMP4, PB10 for COMP5,
mbed_official 330:c80ac197fa6a 78 PB15 for COMP6) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 79 /* Aliases for compatibility */
mbed_official 330:c80ac197fa6a 80 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
mbed_official 330:c80ac197fa6a 81 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
mbed_official 330:c80ac197fa6a 82
mbed_official 330:c80ac197fa6a 83 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
mbed_official 330:c80ac197fa6a 84 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
mbed_official 330:c80ac197fa6a 85 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
mbed_official 330:c80ac197fa6a 86 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
mbed_official 330:c80ac197fa6a 87 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
mbed_official 330:c80ac197fa6a 88 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
mbed_official 330:c80ac197fa6a 89 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 90 ((INPUT) == COMP_INVERTINGINPUT_IO2))
mbed_official 330:c80ac197fa6a 91 /**
mbed_official 330:c80ac197fa6a 92 * @}
mbed_official 330:c80ac197fa6a 93 */
mbed_official 330:c80ac197fa6a 94 #elif defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
mbed_official 330:c80ac197fa6a 95 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
mbed_official 330:c80ac197fa6a 96 * @{
mbed_official 330:c80ac197fa6a 97 */
mbed_official 330:c80ac197fa6a 98 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 99 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 100 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 101 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 102 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 103 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< I/O1 (PA2 for COMP2, PB2 for COMP4, PB15 for COMP6)
mbed_official 330:c80ac197fa6a 104 connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 105 /* Aliases for compatibility */
mbed_official 330:c80ac197fa6a 106 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
mbed_official 330:c80ac197fa6a 107
mbed_official 330:c80ac197fa6a 108 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
mbed_official 330:c80ac197fa6a 109 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
mbed_official 330:c80ac197fa6a 110 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
mbed_official 330:c80ac197fa6a 111 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
mbed_official 330:c80ac197fa6a 112 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
mbed_official 330:c80ac197fa6a 113 ((INPUT) == COMP_INVERTINGINPUT_IO1))
mbed_official 330:c80ac197fa6a 114 /**
mbed_official 330:c80ac197fa6a 115 * @}
mbed_official 330:c80ac197fa6a 116 */
mbed_official 330:c80ac197fa6a 117 #elif defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 330:c80ac197fa6a 118 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F303x8/STM32F334x8/STM32F328xx Product devices)
mbed_official 330:c80ac197fa6a 119 * @{
mbed_official 330:c80ac197fa6a 120 */
mbed_official 330:c80ac197fa6a 121 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 122 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 123 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 124 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 125 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 126 #define COMP_INVERTINGINPUT_DAC1_CH2 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 127 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< I/O1 (PA2 for COMP2, PB2 for COMP4, PB15 for COMP6)
mbed_official 330:c80ac197fa6a 128 connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 129 #define COMP_INVERTINGINPUT_DAC2_CH1 COMP_CSR_COMPxINSEL_3 /*!< DAC2_CH1_OUT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 130 /* Aliases for compatibility */
mbed_official 330:c80ac197fa6a 131 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
mbed_official 330:c80ac197fa6a 132 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
mbed_official 330:c80ac197fa6a 133
mbed_official 330:c80ac197fa6a 134 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
mbed_official 330:c80ac197fa6a 135 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
mbed_official 330:c80ac197fa6a 136 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
mbed_official 330:c80ac197fa6a 137 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
mbed_official 330:c80ac197fa6a 138 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
mbed_official 330:c80ac197fa6a 139 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
mbed_official 330:c80ac197fa6a 140 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 141 ((INPUT) == COMP_INVERTINGINPUT_DAC2_CH1))
mbed_official 330:c80ac197fa6a 142 /**
mbed_official 330:c80ac197fa6a 143 * @}
mbed_official 330:c80ac197fa6a 144 */
mbed_official 330:c80ac197fa6a 145 #elif defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 146 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 147 * @{
mbed_official 330:c80ac197fa6a 148 */
mbed_official 330:c80ac197fa6a 149 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 150 #define COMP_INVERTINGINPUT_1_2VREFINT ((uint32_t)COMP_CSR_COMPxINSEL_0) /*!< 1/2 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 151 #define COMP_INVERTINGINPUT_3_4VREFINT ((uint32_t)COMP_CSR_COMPxINSEL_1) /*!< 3/4 VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 152 #define COMP_INVERTINGINPUT_VREFINT ((uint32_t)(COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0)) /*!< VREFINT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 153 #define COMP_INVERTINGINPUT_DAC1_CH1 ((uint32_t)COMP_CSR_COMPxINSEL_2) /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 154 #define COMP_INVERTINGINPUT_DAC1_CH2 ((uint32_t)(COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0)) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 155 #define COMP_INVERTINGINPUT_IO1 ((uint32_t)(COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1)) /*!< I/O1 (PA0 for COMP1, PA2 for COMP2) connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 156 #define COMP_INVERTINGINPUT_DAC2_CH1 ((uint32_t)COMP_CSR_COMPxINSEL) /*!< DAC2_CH1_OUT connected to comparator inverting input */
mbed_official 330:c80ac197fa6a 157 /* Aliases for compatibility */
mbed_official 330:c80ac197fa6a 158 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
mbed_official 330:c80ac197fa6a 159 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
mbed_official 330:c80ac197fa6a 160
mbed_official 330:c80ac197fa6a 161 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
mbed_official 330:c80ac197fa6a 162 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
mbed_official 330:c80ac197fa6a 163 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
mbed_official 330:c80ac197fa6a 164 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
mbed_official 330:c80ac197fa6a 165 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
mbed_official 330:c80ac197fa6a 166 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
mbed_official 330:c80ac197fa6a 167 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 168 ((INPUT) == COMP_INVERTINGINPUT_DAC2_CH1))
mbed_official 330:c80ac197fa6a 169 /**
mbed_official 330:c80ac197fa6a 170 * @}
mbed_official 330:c80ac197fa6a 171 */
mbed_official 330:c80ac197fa6a 172 #endif /* STM32F302xE || STM32F303xE || STM32F398xx || */
mbed_official 330:c80ac197fa6a 173 /* STM32F302xC || STM32F303xC || STM32F358xx */
mbed_official 330:c80ac197fa6a 174
mbed_official 330:c80ac197fa6a 175 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 176 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F302xC/STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 177 * @{
mbed_official 330:c80ac197fa6a 178 */
mbed_official 330:c80ac197fa6a 179 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA1 for COMP1, PA7 for COMP2, PB14 for COMP3,
mbed_official 330:c80ac197fa6a 180 PB0 for COMP4, PD12 for COMP5, PD11 for COMP6,
mbed_official 330:c80ac197fa6a 181 PA0 for COMP7) connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 182 #define COMP_NONINVERTINGINPUT_IO2 COMP_CSR_COMPxNONINSEL /*!< I/O2 (PA3 for COMP2, PD14 for COMP3, PE7 for COMP4, PB13 for COMP5,
mbed_official 330:c80ac197fa6a 183 PB11 for COMP6, PC1 for COMP7) connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 184 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP1_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
mbed_official 330:c80ac197fa6a 185
mbed_official 330:c80ac197fa6a 186 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 187 ((INPUT) == COMP_NONINVERTINGINPUT_IO2) || \
mbed_official 330:c80ac197fa6a 188 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
mbed_official 330:c80ac197fa6a 189
mbed_official 330:c80ac197fa6a 190 /* STM32F302xB/xC, STM32F303xB/xC, STM32F358xx devices comparator instances non inverting source values */
mbed_official 330:c80ac197fa6a 191 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
mbed_official 330:c80ac197fa6a 192 ((((INSTANCE) == COMP1) && \
mbed_official 330:c80ac197fa6a 193 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 194 ((INPUT) == COMP_NONINVERTINGINPUT_IO2) || \
mbed_official 330:c80ac197fa6a 195 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
mbed_official 330:c80ac197fa6a 196 || \
mbed_official 330:c80ac197fa6a 197 ((((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 198 ((INPUT) == COMP_NONINVERTINGINPUT_IO2))))
mbed_official 330:c80ac197fa6a 199
mbed_official 330:c80ac197fa6a 200 #define COMP_CSR_COMPxNONINSEL_MASK (COMP_CSR_COMPxNONINSEL | COMP1_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
mbed_official 330:c80ac197fa6a 201 /**
mbed_official 330:c80ac197fa6a 202 * @}
mbed_official 330:c80ac197fa6a 203 */
mbed_official 330:c80ac197fa6a 204 #elif defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
mbed_official 330:c80ac197fa6a 205 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
mbed_official 330:c80ac197fa6a 206 * @{
mbed_official 330:c80ac197fa6a 207 */
mbed_official 330:c80ac197fa6a 208 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA7 for COMP2, PB0 for COMP4, PB11 for COMP6)
mbed_official 330:c80ac197fa6a 209 connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 210 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP2_CSR_COMP2INPDAC /*!< DAC ouput connected to comparator COMP2 non inverting input */
mbed_official 330:c80ac197fa6a 211
mbed_official 330:c80ac197fa6a 212 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 213 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
mbed_official 330:c80ac197fa6a 214
mbed_official 330:c80ac197fa6a 215 /* STM32F301x6/x8, STM32F302x6/x8, STM32F318xx devices comparator instances non inverting source values */
mbed_official 330:c80ac197fa6a 216 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
mbed_official 330:c80ac197fa6a 217 ((((INSTANCE) == COMP2) && \
mbed_official 330:c80ac197fa6a 218 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 219 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
mbed_official 330:c80ac197fa6a 220 || \
mbed_official 330:c80ac197fa6a 221 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
mbed_official 330:c80ac197fa6a 222
mbed_official 330:c80ac197fa6a 223 #define COMP_CSR_COMPxNONINSEL_MASK (COMP2_CSR_COMP2INPDAC) /*!< COMP_CSR_COMPxNONINSEL mask */
mbed_official 330:c80ac197fa6a 224 /**
mbed_official 330:c80ac197fa6a 225 * @}
mbed_official 330:c80ac197fa6a 226 */
mbed_official 330:c80ac197fa6a 227 #elif defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 228 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 229 * @{
mbed_official 330:c80ac197fa6a 230 */
mbed_official 330:c80ac197fa6a 231 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA1 for COMP1, PA3 for COMP2)
mbed_official 330:c80ac197fa6a 232 connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 233 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
mbed_official 330:c80ac197fa6a 234
mbed_official 330:c80ac197fa6a 235 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 236 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
mbed_official 330:c80ac197fa6a 237
mbed_official 330:c80ac197fa6a 238 /* STM32F373xB/xC, STM32F378xx devices comparator instances non inverting source values */
mbed_official 330:c80ac197fa6a 239 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
mbed_official 330:c80ac197fa6a 240 ((((INSTANCE) == COMP1) && \
mbed_official 330:c80ac197fa6a 241 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 242 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
mbed_official 330:c80ac197fa6a 243 || \
mbed_official 330:c80ac197fa6a 244 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
mbed_official 330:c80ac197fa6a 245
mbed_official 330:c80ac197fa6a 246 #define COMP_CSR_COMPxNONINSEL_MASK (COMP_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
mbed_official 330:c80ac197fa6a 247 /**
mbed_official 330:c80ac197fa6a 248 * @}
mbed_official 330:c80ac197fa6a 249 */
mbed_official 330:c80ac197fa6a 250 #elif defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
mbed_official 330:c80ac197fa6a 251 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F302xE/STM32F303xE/STM32F398xx Product devices)
mbed_official 330:c80ac197fa6a 252 * @{
mbed_official 330:c80ac197fa6a 253 */
mbed_official 330:c80ac197fa6a 254 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA1 for COMP1, PA7 for COMP2, PB14 for COMP3,
mbed_official 330:c80ac197fa6a 255 PB0 for COMP4, PD12 for COMP5, PD11 for COMP6,
mbed_official 330:c80ac197fa6a 256 PA0 for COMP7) connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 257 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP1_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
mbed_official 330:c80ac197fa6a 258
mbed_official 330:c80ac197fa6a 259 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 260 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
mbed_official 330:c80ac197fa6a 261
mbed_official 330:c80ac197fa6a 262 /* STM32F302xE/STM32F303xE/STM32F398xx devices comparator instances non inverting source values */
mbed_official 330:c80ac197fa6a 263 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
mbed_official 330:c80ac197fa6a 264 ((((INSTANCE) == COMP1) && \
mbed_official 330:c80ac197fa6a 265 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
mbed_official 330:c80ac197fa6a 266 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
mbed_official 330:c80ac197fa6a 267 || \
mbed_official 330:c80ac197fa6a 268 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
mbed_official 330:c80ac197fa6a 269
mbed_official 330:c80ac197fa6a 270 #define COMP_CSR_COMPxNONINSEL_MASK (COMP1_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
mbed_official 330:c80ac197fa6a 271 /**
mbed_official 330:c80ac197fa6a 272 * @}
mbed_official 330:c80ac197fa6a 273 */
mbed_official 330:c80ac197fa6a 274 #else
mbed_official 330:c80ac197fa6a 275 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (Other Product devices)
mbed_official 330:c80ac197fa6a 276 * @{
mbed_official 330:c80ac197fa6a 277 */
mbed_official 330:c80ac197fa6a 278 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< I/O1 (PA7 for COMP2, PB0 for COMP4, PB11 for COMP6)
mbed_official 330:c80ac197fa6a 279 connected to comparator non inverting input */
mbed_official 330:c80ac197fa6a 280 /*!< Non inverting input not available */
mbed_official 330:c80ac197fa6a 281 #define IS_COMP_NONINVERTINGINPUT(INPUT) ((INPUT) == (INPUT)) /*!< Multiple selection not available: check always true */
mbed_official 330:c80ac197fa6a 282
mbed_official 330:c80ac197fa6a 283 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) ((INPUT) == (INPUT)) /*!< Multiple selection not available: check always true */
mbed_official 330:c80ac197fa6a 284
mbed_official 330:c80ac197fa6a 285 #define COMP_CSR_COMPxNONINSEL_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
mbed_official 330:c80ac197fa6a 286 /**
mbed_official 330:c80ac197fa6a 287 * @}
mbed_official 330:c80ac197fa6a 288 */
mbed_official 330:c80ac197fa6a 289 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
mbed_official 330:c80ac197fa6a 290
mbed_official 330:c80ac197fa6a 291 #if defined(STM32F302xC)
mbed_official 330:c80ac197fa6a 292 /** @defgroup COMPEx_Output COMP Extended Output (STM32F302xC Product devices)
mbed_official 330:c80ac197fa6a 293 * @{
mbed_official 330:c80ac197fa6a 294 */
mbed_official 330:c80ac197fa6a 295 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 296 /* Output Redirection common for all comparators COMP1, COMP2, COMP4, COMP6 */
mbed_official 330:c80ac197fa6a 297 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 298 #define COMP_OUTPUT_TIM1BKIN2_BRK2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 299 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00001400) /*!< COMP output connected to TIM1 Break Input 2 */
mbed_official 330:c80ac197fa6a 300 /* Output Redirection common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 301 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 302 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 303 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 304 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 305 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 306 /* Output Redirection common for COMP1,COMP2 and COMP4 */
mbed_official 330:c80ac197fa6a 307 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 308 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 309 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 330:c80ac197fa6a 310 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 311 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 2 */
mbed_official 330:c80ac197fa6a 312 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 313 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 314 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 315 #define COMP_OUTPUT_COMP6TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP6 output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 316 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 317 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 318 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C00) /*!< COMP output connected to TIM4 Input Capture 4 */
mbed_official 330:c80ac197fa6a 319
mbed_official 330:c80ac197fa6a 320 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 321 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 322 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
mbed_official 330:c80ac197fa6a 323 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 324 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 325 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 326 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 327 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 328 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 329 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 330 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
mbed_official 330:c80ac197fa6a 331 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
mbed_official 330:c80ac197fa6a 332 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
mbed_official 330:c80ac197fa6a 333 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
mbed_official 330:c80ac197fa6a 334 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 335 ((OUTPUT) == COMP_OUTPUT_COMP6TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 336 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
mbed_official 330:c80ac197fa6a 337 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 338 ((OUTPUT) == COMP_OUTPUT_TIM4IC4))
mbed_official 330:c80ac197fa6a 339 /**
mbed_official 330:c80ac197fa6a 340 * @}
mbed_official 330:c80ac197fa6a 341 */
mbed_official 330:c80ac197fa6a 342 #elif defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 343 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 344 * @{
mbed_official 330:c80ac197fa6a 345 */
mbed_official 330:c80ac197fa6a 346 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 347 /* Output Redirection common for all comparators COMP1...COMP7 */
mbed_official 330:c80ac197fa6a 348 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 349 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 350 #define COMP_OUTPUT_TIM8BKIN ((uint32_t)0x00000C00) /*!< COMP output connected to TIM8 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 351 #define COMP_OUTPUT_TIM8BKIN2 ((uint32_t)0x00001000) /*!< COMP output connected to TIM8 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 352 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2 ((uint32_t)0x00001400) /*!< COMP output connected to TIM1 Break Input 2 and TIM8 Break Input 2 */
mbed_official 330:c80ac197fa6a 353 /* Output Redirection common for COMP1, COMP2 and COMP3 */
mbed_official 330:c80ac197fa6a 354 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 355 /* Output Redirection common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 356 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 357 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 358 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 359 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 360 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 361 /* Output Redirection specific to COMP3 */
mbed_official 330:c80ac197fa6a 362 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM4 Input Capture 1 */
mbed_official 330:c80ac197fa6a 363 #define COMP_OUTPUT_TIM3IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM3 Input Capture 2 */
mbed_official 330:c80ac197fa6a 364 #define COMP_OUTPUT_TIM15IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 Input Capture 1 */
mbed_official 330:c80ac197fa6a 365 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM15 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 366 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 367 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 330:c80ac197fa6a 368 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 330:c80ac197fa6a 369 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 370 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 2 */
mbed_official 330:c80ac197fa6a 371 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 372 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 373 /* Output Redirection specific to COMP5 */
mbed_official 330:c80ac197fa6a 374 #define COMP_OUTPUT_TIM2IC1 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 1 */
mbed_official 330:c80ac197fa6a 375 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 330:c80ac197fa6a 376 #define COMP_OUTPUT_TIM17IC1 ((uint32_t)0x00002000) /*!< COMP output connected to TIM17 Input Capture 1 */
mbed_official 330:c80ac197fa6a 377 #define COMP_OUTPUT_TIM4IC3 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 3 */
mbed_official 330:c80ac197fa6a 378 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 379 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 380 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 381 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 382 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 330:c80ac197fa6a 383 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP6 output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 384 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 385 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 386 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C00) /*!< COMP output connected to TIM4 Input Capture 4 */
mbed_official 330:c80ac197fa6a 387 /* Output Redirection specific to COMP7 */
mbed_official 330:c80ac197fa6a 388 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 389 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 330:c80ac197fa6a 390 #define COMP_OUTPUT_TIM2IC3 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 3 */
mbed_official 330:c80ac197fa6a 391 #define COMP_OUTPUT_TIM1IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM1 Input Capture 2 */
mbed_official 330:c80ac197fa6a 392 #define COMP_OUTPUT_TIM17OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 393 #define COMP_OUTPUT_TIM17BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 394
mbed_official 330:c80ac197fa6a 395 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 396 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 397 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 398 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
mbed_official 330:c80ac197fa6a 399 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 400 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
mbed_official 330:c80ac197fa6a 401 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 402 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
mbed_official 330:c80ac197fa6a 403 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 404 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
mbed_official 330:c80ac197fa6a 405 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 406 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 407 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 408 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 409 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
mbed_official 330:c80ac197fa6a 410 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
mbed_official 330:c80ac197fa6a 411 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 412 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
mbed_official 330:c80ac197fa6a 413 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
mbed_official 330:c80ac197fa6a 414 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
mbed_official 330:c80ac197fa6a 415 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
mbed_official 330:c80ac197fa6a 416 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
mbed_official 330:c80ac197fa6a 417 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
mbed_official 330:c80ac197fa6a 418 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
mbed_official 330:c80ac197fa6a 419 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
mbed_official 330:c80ac197fa6a 420 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
mbed_official 330:c80ac197fa6a 421 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
mbed_official 330:c80ac197fa6a 422 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
mbed_official 330:c80ac197fa6a 423 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
mbed_official 330:c80ac197fa6a 424 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 425 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
mbed_official 330:c80ac197fa6a 426 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
mbed_official 330:c80ac197fa6a 427 ((OUTPUT) == COMP_OUTPUT_TIM17IC1) || \
mbed_official 330:c80ac197fa6a 428 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))
mbed_official 330:c80ac197fa6a 429 /**
mbed_official 330:c80ac197fa6a 430 * @}
mbed_official 330:c80ac197fa6a 431 */
mbed_official 330:c80ac197fa6a 432 #elif defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
mbed_official 330:c80ac197fa6a 433 /** @defgroup COMPEx_Output COMP Extended Output (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
mbed_official 330:c80ac197fa6a 434 * @{
mbed_official 330:c80ac197fa6a 435 */
mbed_official 330:c80ac197fa6a 436 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 437 /* Output Redirection common for all comparators COMP2, COMP4 and COMP6 */
mbed_official 330:c80ac197fa6a 438 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 439 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 440 /* Output Redirection specific to COMP2 */
mbed_official 330:c80ac197fa6a 441 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 442 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 443 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 444 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 445 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 446 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 447 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 448 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 449 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 450 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP6 output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 451 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 452 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 453
mbed_official 330:c80ac197fa6a 454 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 455 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 456 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 457 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 458 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 459 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 460 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 461 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 462 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 463 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
mbed_official 330:c80ac197fa6a 464 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
mbed_official 330:c80ac197fa6a 465 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 466 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))
mbed_official 330:c80ac197fa6a 467 /**
mbed_official 330:c80ac197fa6a 468 * @}
mbed_official 330:c80ac197fa6a 469 */
mbed_official 330:c80ac197fa6a 470 #elif defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 330:c80ac197fa6a 471 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303x8/STM32F334x8/STM32F328xx Product devices)
mbed_official 330:c80ac197fa6a 472 * @{
mbed_official 330:c80ac197fa6a 473 */
mbed_official 330:c80ac197fa6a 474 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 475 /* Output Redirection common for all comparators COMP2, COMP4 and COMP6 */
mbed_official 330:c80ac197fa6a 476 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 477 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 478 /* Output Redirection specific to COMP2 */
mbed_official 330:c80ac197fa6a 479 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 480 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 481 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 482 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 483 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 484 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 485 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 486 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 330:c80ac197fa6a 487 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 488 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 489 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 490 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 491 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 492 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP6 output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 493 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 494 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 495
mbed_official 330:c80ac197fa6a 496 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 497 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 498 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 499 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 500 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 501 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 502 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 503 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 504 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 505 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 506 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
mbed_official 330:c80ac197fa6a 507 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 508 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
mbed_official 330:c80ac197fa6a 509 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
mbed_official 330:c80ac197fa6a 510 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 511 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))
mbed_official 330:c80ac197fa6a 512 /**
mbed_official 330:c80ac197fa6a 513 * @}
mbed_official 330:c80ac197fa6a 514 */
mbed_official 330:c80ac197fa6a 515 #elif defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 516 /** @defgroup COMPEx_Output COMP Extended Output (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 517 * @{
mbed_official 330:c80ac197fa6a 518 */
mbed_official 330:c80ac197fa6a 519 /* Output Redirection common for all comparators COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 520 #define COMP_OUTPUT_NONE ((uint32_t)0x0000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 521 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x0200) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 522 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x0300) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 523 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x0400) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 524 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x0500) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 525 /* Output Redirection specific to COMP1 */
mbed_official 330:c80ac197fa6a 526 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x0100) /*!< COMP output connected to TIM15 Break Input */
mbed_official 330:c80ac197fa6a 527 #define COMP_OUTPUT_TIM5IC4 ((uint32_t)0x0600) /*!< COMP output connected to TIM5 Input Capture 4 */
mbed_official 330:c80ac197fa6a 528 #define COMP_OUTPUT_TIM5OCREFCLR ((uint32_t)0x0700) /*!< COMP output connected to TIM5 OCREF Clear */
mbed_official 330:c80ac197fa6a 529 /* Output Redirection specific to COMP2 */
mbed_official 330:c80ac197fa6a 530 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x0100) /*!< COMP output connected to TIM16 Break Input */
mbed_official 330:c80ac197fa6a 531 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x0200) /*!< COMP output connected to TIM4 Input Capture 1 */
mbed_official 330:c80ac197fa6a 532 #define COMP_OUTPUT_TIM4OCREFCLR ((uint32_t)0x0300) /*!< COMP output connected to TIM4 OCREF Clear */
mbed_official 330:c80ac197fa6a 533
mbed_official 330:c80ac197fa6a 534 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 535 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 536 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 537 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 538 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 539 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
mbed_official 330:c80ac197fa6a 540 ((OUTPUT) == COMP_OUTPUT_TIM4OCREFCLR) || \
mbed_official 330:c80ac197fa6a 541 ((OUTPUT) == COMP_OUTPUT_TIM5IC4) || \
mbed_official 330:c80ac197fa6a 542 ((OUTPUT) == COMP_OUTPUT_TIM5OCREFCLR) || \
mbed_official 330:c80ac197fa6a 543 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
mbed_official 330:c80ac197fa6a 544 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN))
mbed_official 330:c80ac197fa6a 545 /**
mbed_official 330:c80ac197fa6a 546 * @}
mbed_official 330:c80ac197fa6a 547 */
mbed_official 330:c80ac197fa6a 548 #elif defined(STM32F302xE)
mbed_official 330:c80ac197fa6a 549 /** @defgroup COMPEx_Output COMP Extended Output (STM32F302xE Product devices)
mbed_official 330:c80ac197fa6a 550 * @{
mbed_official 330:c80ac197fa6a 551 */
mbed_official 330:c80ac197fa6a 552 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 553 /* Output Redirection common for all comparators COMP1, COMP2, COMP4, COMP6 */
mbed_official 330:c80ac197fa6a 554 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 555 #define COMP_OUTPUT_TIM1BKIN2_BRK2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 556 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00001400) /*!< COMP output connected to TIM1 Break Input 2 */
mbed_official 330:c80ac197fa6a 557 /* Output Redirection common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 558 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 559 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 560 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 561 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 562 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 563 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 564 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 565 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 330:c80ac197fa6a 566 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 567 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 2 */
mbed_official 330:c80ac197fa6a 568 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 569 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 570 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 571 #define COMP_OUTPUT_COMP6TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 572 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 573 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 574 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C00) /*!< COMP output connected to TIM4 Input Capture 4 */
mbed_official 330:c80ac197fa6a 575
mbed_official 330:c80ac197fa6a 576 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 577 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 578 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
mbed_official 330:c80ac197fa6a 579 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 580 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 581 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 582 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 583 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 584 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 585 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 586 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
mbed_official 330:c80ac197fa6a 587 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
mbed_official 330:c80ac197fa6a 588 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
mbed_official 330:c80ac197fa6a 589 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
mbed_official 330:c80ac197fa6a 590 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 591 ((OUTPUT) == COMP_OUTPUT_COMP6TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 592 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
mbed_official 330:c80ac197fa6a 593 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 594 ((OUTPUT) == COMP_OUTPUT_TIM4IC4))
mbed_official 330:c80ac197fa6a 595
mbed_official 330:c80ac197fa6a 596 /**
mbed_official 330:c80ac197fa6a 597 * @}
mbed_official 330:c80ac197fa6a 598 */
mbed_official 330:c80ac197fa6a 599 #elif defined(STM32F303xE) || defined(STM32F398xx)
mbed_official 330:c80ac197fa6a 600 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303xE/STM32F398xx Product devices)
mbed_official 330:c80ac197fa6a 601 * @{
mbed_official 330:c80ac197fa6a 602 */
mbed_official 330:c80ac197fa6a 603 #define COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output isn't connected to other peripherals */
mbed_official 330:c80ac197fa6a 604 /* Output Redirection common for all comparators COMP1...COMP7 */
mbed_official 330:c80ac197fa6a 605 #define COMP_OUTPUT_TIM1BKIN COMP_CSR_COMPxOUTSEL_0 /*!< COMP output connected to TIM1 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 606 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x00000800) /*!< COMP output connected to TIM1 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 607 #define COMP_OUTPUT_TIM8BKIN ((uint32_t)0x00000C00) /*!< COMP output connected to TIM8 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 608 #define COMP_OUTPUT_TIM8BKIN2 ((uint32_t)0x00001000) /*!< COMP output connected to TIM8 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 609 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2 ((uint32_t)0x00001400) /*!< COMP output connected to TIM1 Break Input 2 and TIM8 Break Input 2 */
mbed_official 330:c80ac197fa6a 610 #define COMP_OUTPUT_TIM20BKIN ((uint32_t)0x00003000) /*!< COMP output connected to TIM20 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 611 #define COMP_OUTPUT_TIM20BKIN2 ((uint32_t)0x00003400) /*!< COMP output connected to TIM20 Break Input 2 (BKIN2) */
mbed_official 330:c80ac197fa6a 612 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2 ((uint32_t)0x00003800) /*!< COMP output connected to TIM1 Break Input 2, TIM8 Break Input 2 and TIM20 Break Input 2 */
mbed_official 330:c80ac197fa6a 613 /* Output Redirection common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 614 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001800) /*!< COMP output connected to TIM1 OCREF Clear */
mbed_official 330:c80ac197fa6a 615 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM1 Input Capture 1 */
mbed_official 330:c80ac197fa6a 616 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 617 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 618 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 619 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C00) /*!< COMP output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 620 /* Output Redirection specific to COMP2 */
mbed_official 330:c80ac197fa6a 621 #define COMP_OUTPUT_TIM20OCREFCLR ((uint32_t)0x00003C00) /*!< COMP output connected to TIM20 OCREF Clear */
mbed_official 330:c80ac197fa6a 622 /* Output Redirection specific to COMP3 */
mbed_official 330:c80ac197fa6a 623 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x00001C00) /*!< COMP output connected to TIM4 Input Capture 1 */
mbed_official 330:c80ac197fa6a 624 #define COMP_OUTPUT_TIM3IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM3 Input Capture 2 */
mbed_official 330:c80ac197fa6a 625 #define COMP_OUTPUT_TIM15IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 Input Capture 1 */
mbed_official 330:c80ac197fa6a 626 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM15 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 627 /* Output Redirection specific to COMP4 */
mbed_official 330:c80ac197fa6a 628 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001800) /*!< COMP output connected to TIM3 Input Capture 3 */
mbed_official 330:c80ac197fa6a 629 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C00) /*!< COMP output connected to TIM8 OCREF Clear */
mbed_official 330:c80ac197fa6a 630 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002000) /*!< COMP output connected to TIM15 Input Capture 2 */
mbed_official 330:c80ac197fa6a 631 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 2 */
mbed_official 330:c80ac197fa6a 632 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM15 OCREF Clear */
mbed_official 330:c80ac197fa6a 633 /* Output Redirection specific to COMP5 */
mbed_official 330:c80ac197fa6a 634 #define COMP_OUTPUT_TIM2IC1 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 1 */
mbed_official 330:c80ac197fa6a 635 #define COMP_OUTPUT_TIM17IC1 ((uint32_t)0x00002000) /*!< COMP output connected to TIM17 Input Capture 1 */
mbed_official 330:c80ac197fa6a 636 #define COMP_OUTPUT_TIM4IC3 ((uint32_t)0x00002400) /*!< COMP output connected to TIM4 Input Capture 3 */
mbed_official 330:c80ac197fa6a 637 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 638 /* Output Redirection specific to COMP6 */
mbed_official 330:c80ac197fa6a 639 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001800) /*!< COMP output connected to TIM2 Input Capture 2 */
mbed_official 330:c80ac197fa6a 640 #define COMP_OUTPUT_COMP6TIM2OCREFCLR ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 OCREF Clear */
mbed_official 330:c80ac197fa6a 641 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002400) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 642 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 Input Capture 1 */
mbed_official 330:c80ac197fa6a 643 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C00) /*!< COMP output connected to TIM4 Input Capture 4 */
mbed_official 330:c80ac197fa6a 644 /* Output Redirection specific to COMP7 */
mbed_official 330:c80ac197fa6a 645 #define COMP_OUTPUT_TIM2IC3 ((uint32_t)0x00002000) /*!< COMP output connected to TIM2 Input Capture 3 */
mbed_official 330:c80ac197fa6a 646 #define COMP_OUTPUT_TIM1IC2 ((uint32_t)0x00002400) /*!< COMP output connected to TIM1 Input Capture 2 */
mbed_official 330:c80ac197fa6a 647 #define COMP_OUTPUT_TIM17OCREFCLR ((uint32_t)0x00002800) /*!< COMP output connected to TIM16 OCREF Clear */
mbed_official 330:c80ac197fa6a 648 #define COMP_OUTPUT_TIM17BKIN ((uint32_t)0x00002C00) /*!< COMP output connected to TIM16 Break Input (BKIN) */
mbed_official 330:c80ac197fa6a 649 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
mbed_official 330:c80ac197fa6a 650 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
mbed_official 330:c80ac197fa6a 651 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
mbed_official 330:c80ac197fa6a 652 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
mbed_official 330:c80ac197fa6a 653 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
mbed_official 330:c80ac197fa6a 654 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 655 ((OUTPUT) == COMP_OUTPUT_COMP6TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 656 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
mbed_official 330:c80ac197fa6a 657 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
mbed_official 330:c80ac197fa6a 658 ((OUTPUT) == COMP_OUTPUT_TIM20OCREFCLR) || \
mbed_official 330:c80ac197fa6a 659 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
mbed_official 330:c80ac197fa6a 660 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
mbed_official 330:c80ac197fa6a 661 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
mbed_official 330:c80ac197fa6a 662 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
mbed_official 330:c80ac197fa6a 663 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
mbed_official 330:c80ac197fa6a 664 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
mbed_official 330:c80ac197fa6a 665 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
mbed_official 330:c80ac197fa6a 666 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
mbed_official 330:c80ac197fa6a 667 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
mbed_official 330:c80ac197fa6a 668 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
mbed_official 330:c80ac197fa6a 669 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
mbed_official 330:c80ac197fa6a 670 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
mbed_official 330:c80ac197fa6a 671 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
mbed_official 330:c80ac197fa6a 672 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
mbed_official 330:c80ac197fa6a 673 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
mbed_official 330:c80ac197fa6a 674 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
mbed_official 330:c80ac197fa6a 675 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
mbed_official 330:c80ac197fa6a 676 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
mbed_official 330:c80ac197fa6a 677 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
mbed_official 330:c80ac197fa6a 678 ((OUTPUT) == COMP_OUTPUT_TIM17IC1) || \
mbed_official 330:c80ac197fa6a 679 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
mbed_official 330:c80ac197fa6a 680 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
mbed_official 330:c80ac197fa6a 681 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
mbed_official 330:c80ac197fa6a 682 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
mbed_official 330:c80ac197fa6a 683 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
mbed_official 330:c80ac197fa6a 684 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
mbed_official 330:c80ac197fa6a 685 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
mbed_official 330:c80ac197fa6a 686 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))
mbed_official 330:c80ac197fa6a 687 /**
mbed_official 330:c80ac197fa6a 688 * @}
mbed_official 330:c80ac197fa6a 689 */
mbed_official 330:c80ac197fa6a 690 #endif /* STM32F302xC */
mbed_official 330:c80ac197fa6a 691
mbed_official 330:c80ac197fa6a 692 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 693 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (STM32F302xC/STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 694 * @{
mbed_official 330:c80ac197fa6a 695 */
mbed_official 330:c80ac197fa6a 696 #define COMP_WINDOWMODE_DISABLED ((uint32_t)0x00000000) /*!< Window mode disabled */
mbed_official 330:c80ac197fa6a 697 #define COMP_WINDOWMODE_ENABLED COMP_CSR_COMPxWNDWEN /*!< Window mode enabled: non inverting input of comparator X (x=2,4,6)
mbed_official 330:c80ac197fa6a 698 is connected to the non inverting input of comparator X-1 */
mbed_official 330:c80ac197fa6a 699 #define IS_COMP_WINDOWMODE(WINDOWMODE) (((WINDOWMODE) == COMP_WINDOWMODE_DISABLED) || \
mbed_official 330:c80ac197fa6a 700 ((WINDOWMODE) == COMP_WINDOWMODE_ENABLED))
mbed_official 330:c80ac197fa6a 701
mbed_official 330:c80ac197fa6a 702 #define COMP_CSR_COMPxWNDWEN_MASK COMP_CSR_COMPxWNDWEN /*!< COMP_CSR_COMPxWNDWEN mask */
mbed_official 330:c80ac197fa6a 703 /**
mbed_official 330:c80ac197fa6a 704 * @}
mbed_official 330:c80ac197fa6a 705 */
mbed_official 330:c80ac197fa6a 706 #elif defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 707 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 708 * @{
mbed_official 330:c80ac197fa6a 709 */
mbed_official 330:c80ac197fa6a 710 #define COMP_WINDOWMODE_DISABLED ((uint32_t)0x00000000) /*!< Window mode disabled */
mbed_official 330:c80ac197fa6a 711 #define COMP_WINDOWMODE_ENABLED ((uint32_t)COMP_CSR_COMPxWNDWEN) /*!< Window mode enabled: non inverting input of comparator 2
mbed_official 330:c80ac197fa6a 712 is connected to the non inverting input of comparator 1 (PA1) */
mbed_official 330:c80ac197fa6a 713 #define IS_COMP_WINDOWMODE(WINDOWMODE) (((WINDOWMODE) == COMP_WINDOWMODE_DISABLED) || \
mbed_official 330:c80ac197fa6a 714 ((WINDOWMODE) == COMP_WINDOWMODE_ENABLED))
mbed_official 330:c80ac197fa6a 715
mbed_official 330:c80ac197fa6a 716 #define COMP_CSR_COMPxWNDWEN_MASK COMP_CSR_COMPxWNDWEN /*!< COMP_CSR_COMPxWNDWEN mask */
mbed_official 330:c80ac197fa6a 717 /**
mbed_official 330:c80ac197fa6a 718 * @}
mbed_official 330:c80ac197fa6a 719 */
mbed_official 330:c80ac197fa6a 720 #else
mbed_official 330:c80ac197fa6a 721 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (Other Product devices)
mbed_official 330:c80ac197fa6a 722 * @{
mbed_official 330:c80ac197fa6a 723 */
mbed_official 330:c80ac197fa6a 724 #define COMP_WINDOWMODE_DISABLED ((uint32_t)0x00000000) /*!< Window mode disabled (not available) */
mbed_official 330:c80ac197fa6a 725
mbed_official 330:c80ac197fa6a 726 #define IS_COMP_WINDOWMODE(WINDOWMODE) ((WINDOWMODE) == (WINDOWMODE)) /*!< Not available: check always true */
mbed_official 330:c80ac197fa6a 727
mbed_official 330:c80ac197fa6a 728 #define COMP_CSR_COMPxWNDWEN_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
mbed_official 330:c80ac197fa6a 729 /**
mbed_official 330:c80ac197fa6a 730 * @}
mbed_official 330:c80ac197fa6a 731 */
mbed_official 330:c80ac197fa6a 732 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
mbed_official 330:c80ac197fa6a 733
mbed_official 330:c80ac197fa6a 734 /** @defgroup COMPEx_Mode COMP Extended Mode
mbed_official 330:c80ac197fa6a 735 * @{
mbed_official 330:c80ac197fa6a 736 */
mbed_official 330:c80ac197fa6a 737 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
mbed_official 330:c80ac197fa6a 738 defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 739
mbed_official 330:c80ac197fa6a 740 /* Please refer to the electrical characteristics in the device datasheet for
mbed_official 330:c80ac197fa6a 741 the power consumption values */
mbed_official 330:c80ac197fa6a 742 #define COMP_MODE_HIGHSPEED ((uint32_t)0x00000000) /*!< High Speed */
mbed_official 330:c80ac197fa6a 743 #define COMP_MODE_MEDIUMSPEED COMP_CSR_COMPxMODE_0 /*!< Medium Speed */
mbed_official 330:c80ac197fa6a 744 #define COMP_MODE_LOWPOWER COMP_CSR_COMPxMODE_1 /*!< Low power mode */
mbed_official 330:c80ac197fa6a 745 #define COMP_MODE_ULTRALOWPOWER COMP_CSR_COMPxMODE /*!< Ultra-low power mode */
mbed_official 330:c80ac197fa6a 746
mbed_official 330:c80ac197fa6a 747 #define IS_COMP_MODE(MODE) (((MODE) == COMP_MODE_HIGHSPEED) || \
mbed_official 330:c80ac197fa6a 748 ((MODE) == COMP_MODE_MEDIUMSPEED) || \
mbed_official 330:c80ac197fa6a 749 ((MODE) == COMP_MODE_LOWPOWER) || \
mbed_official 330:c80ac197fa6a 750 ((MODE) == COMP_MODE_ULTRALOWPOWER))
mbed_official 330:c80ac197fa6a 751
mbed_official 330:c80ac197fa6a 752 #define COMP_CSR_COMPxMODE_MASK COMP_CSR_COMPxMODE /*!< COMP_CSR_COMPxMODE Mask */
mbed_official 330:c80ac197fa6a 753
mbed_official 330:c80ac197fa6a 754 #else
mbed_official 330:c80ac197fa6a 755
mbed_official 330:c80ac197fa6a 756 /*!< Power mode not available */
mbed_official 330:c80ac197fa6a 757 #define IS_COMP_MODE(MODE) ((MODE) == (MODE)) /*!< Not available: check always true */
mbed_official 330:c80ac197fa6a 758
mbed_official 330:c80ac197fa6a 759 #define COMP_CSR_COMPxMODE_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
mbed_official 330:c80ac197fa6a 760
mbed_official 330:c80ac197fa6a 761 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
mbed_official 330:c80ac197fa6a 762 /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 763 /**
mbed_official 330:c80ac197fa6a 764 * @}
mbed_official 330:c80ac197fa6a 765 */
mbed_official 330:c80ac197fa6a 766
mbed_official 330:c80ac197fa6a 767 /** @defgroup COMPEx_Hysteresis COMP Extended Hysteresis
mbed_official 330:c80ac197fa6a 768 * @{
mbed_official 330:c80ac197fa6a 769 */
mbed_official 330:c80ac197fa6a 770 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
mbed_official 330:c80ac197fa6a 771 defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 772
mbed_official 330:c80ac197fa6a 773 #define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
mbed_official 330:c80ac197fa6a 774 #define COMP_HYSTERESIS_LOW COMP_CSR_COMPxHYST_0 /*!< Hysteresis level low */
mbed_official 330:c80ac197fa6a 775 #define COMP_HYSTERESIS_MEDIUM COMP_CSR_COMPxHYST_1 /*!< Hysteresis level medium */
mbed_official 330:c80ac197fa6a 776 #define COMP_HYSTERESIS_HIGH COMP_CSR_COMPxHYST /*!< Hysteresis level high */
mbed_official 330:c80ac197fa6a 777
mbed_official 330:c80ac197fa6a 778 #define IS_COMP_HYSTERESIS(HYSTERESIS) (((HYSTERESIS) == COMP_HYSTERESIS_NONE) || \
mbed_official 330:c80ac197fa6a 779 ((HYSTERESIS) == COMP_HYSTERESIS_LOW) || \
mbed_official 330:c80ac197fa6a 780 ((HYSTERESIS) == COMP_HYSTERESIS_MEDIUM) || \
mbed_official 330:c80ac197fa6a 781 ((HYSTERESIS) == COMP_HYSTERESIS_HIGH))
mbed_official 330:c80ac197fa6a 782
mbed_official 330:c80ac197fa6a 783 #define COMP_CSR_COMPxHYST_MASK COMP_CSR_COMPxHYST /*!< COMP_CSR_COMPxHYST Mask */
mbed_official 330:c80ac197fa6a 784
mbed_official 330:c80ac197fa6a 785 #else
mbed_official 330:c80ac197fa6a 786
mbed_official 330:c80ac197fa6a 787 #define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
mbed_official 330:c80ac197fa6a 788
mbed_official 330:c80ac197fa6a 789 #define IS_COMP_HYSTERESIS(HYSTERESIS) ((HYSTERESIS) == (HYSTERESIS)) /*!< Not available: check always true */
mbed_official 330:c80ac197fa6a 790
mbed_official 330:c80ac197fa6a 791 #define COMP_CSR_COMPxHYST_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
mbed_official 330:c80ac197fa6a 792
mbed_official 330:c80ac197fa6a 793 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
mbed_official 330:c80ac197fa6a 794 /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 795 /**
mbed_official 330:c80ac197fa6a 796 * @}
mbed_official 330:c80ac197fa6a 797 */
mbed_official 330:c80ac197fa6a 798
mbed_official 330:c80ac197fa6a 799 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
mbed_official 330:c80ac197fa6a 800 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 330:c80ac197fa6a 801 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F301x8/STM32F302x8/STM32F303x8/STM32F334x8/STM32F318xx/STM32F328xx Product devices)
mbed_official 330:c80ac197fa6a 802 * @{
mbed_official 330:c80ac197fa6a 803 */
mbed_official 330:c80ac197fa6a 804 /* No blanking source can be selected for all comparators */
mbed_official 330:c80ac197fa6a 805 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
mbed_official 330:c80ac197fa6a 806 /* Blanking source for COMP2 */
mbed_official 330:c80ac197fa6a 807 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 808 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC3 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 809 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM3 OC3 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 810 /* Blanking source for COMP4 */
mbed_official 330:c80ac197fa6a 811 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 812 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 813 /* Blanking source for COMP6 */
mbed_official 330:c80ac197fa6a 814 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 815 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 816 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 817 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 818 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 819 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
mbed_official 330:c80ac197fa6a 820 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 821 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 822 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
mbed_official 330:c80ac197fa6a 823 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
mbed_official 330:c80ac197fa6a 824
mbed_official 330:c80ac197fa6a 825 /* STM32F301x6/x8, STM32F302x6/x8, STM32F303x6/x8, STM32F334x4/6/8, STM32F318xx/STM32F328xx devices comparator instances blanking source values */
mbed_official 330:c80ac197fa6a 826 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
mbed_official 330:c80ac197fa6a 827 ((((INSTANCE) == COMP2) && \
mbed_official 330:c80ac197fa6a 828 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 829 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 830 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 831 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
mbed_official 330:c80ac197fa6a 832 || \
mbed_official 330:c80ac197fa6a 833 (((INSTANCE) == COMP4) && \
mbed_official 330:c80ac197fa6a 834 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 835 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 836 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
mbed_official 330:c80ac197fa6a 837 || \
mbed_official 330:c80ac197fa6a 838 (((INSTANCE) == COMP6) && \
mbed_official 330:c80ac197fa6a 839 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 840 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 841 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
mbed_official 330:c80ac197fa6a 842
mbed_official 330:c80ac197fa6a 843 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
mbed_official 330:c80ac197fa6a 844
mbed_official 330:c80ac197fa6a 845 /**
mbed_official 330:c80ac197fa6a 846 * @}
mbed_official 330:c80ac197fa6a 847 */
mbed_official 330:c80ac197fa6a 848
mbed_official 330:c80ac197fa6a 849 /** @defgroup COMPEx_ExtiLineEvent COMP Extended EXTI Line Event (STM32F301x8/STM32F302x8/STM32F303x8/STM32F334x8/STM32F318xx/STM32F328xx Product devices)
mbed_official 330:c80ac197fa6a 850 * Elements values convention: XXXXZYYY
mbed_official 330:c80ac197fa6a 851 * - XXXX : Interrupt mask in the register list where Z equal 0x0
mbed_official 330:c80ac197fa6a 852 * - YYY : Interrupt mask in the register list where Z equal 0x1
mbed_official 330:c80ac197fa6a 853 * - Z : register index(4bits)
mbed_official 330:c80ac197fa6a 854 * - 0x0: EMR/IMR/RTSR/FTSR register
mbed_official 330:c80ac197fa6a 855 * - 0x1: EMR2/IMR2/RTSR2/FTSR2 register
mbed_official 330:c80ac197fa6a 856 * @{
mbed_official 330:c80ac197fa6a 857 */
mbed_official 330:c80ac197fa6a 858 #define COMP_EXTI_LINE_MASK ((uint32_t)0xffff0fff) /*!< Mask on possible line values */
mbed_official 330:c80ac197fa6a 859 #define COMP_EXTI_LINE_REG_MASK ((uint32_t)0x00001000) /*!< Mask on possible register values */
mbed_official 330:c80ac197fa6a 860 #define COMP_EXTI_LINE_COMP2_EVENT ((uint32_t)0x00400000) /*!< External interrupt line 22 Connected to COMP2 */
mbed_official 330:c80ac197fa6a 861 #define COMP_EXTI_LINE_COMP4_EVENT ((uint32_t)0x40000000) /*!< External interrupt line 30 Connected to COMP4 */
mbed_official 330:c80ac197fa6a 862 #define COMP_EXTI_LINE_COMP6_EVENT ((uint32_t)0x00001001) /*!< External interrupt line 32 Connected to COMP6 */
mbed_official 330:c80ac197fa6a 863
mbed_official 330:c80ac197fa6a 864 /**
mbed_official 330:c80ac197fa6a 865 * @}
mbed_official 330:c80ac197fa6a 866 */
mbed_official 330:c80ac197fa6a 867 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
mbed_official 330:c80ac197fa6a 868 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
mbed_official 330:c80ac197fa6a 869
mbed_official 330:c80ac197fa6a 870 #if defined(STM32F302xE) ||\
mbed_official 330:c80ac197fa6a 871 defined(STM32F302xC)
mbed_official 330:c80ac197fa6a 872 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F302xE/STM32F302xC Product devices)
mbed_official 330:c80ac197fa6a 873 * @{
mbed_official 330:c80ac197fa6a 874 */
mbed_official 330:c80ac197fa6a 875 /* No blanking source can be selected for all comparators */
mbed_official 330:c80ac197fa6a 876 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
mbed_official 330:c80ac197fa6a 877 /* Blanking source common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 878 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 879 /* Blanking source common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 880 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC3 selected as blanking source for compartor */
mbed_official 330:c80ac197fa6a 881 /* Blanking source common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 882 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM3 OC3 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 883 /* Blanking source for COMP4 */
mbed_official 330:c80ac197fa6a 884 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 885 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 886 /* Blanking source for COMP6 */
mbed_official 330:c80ac197fa6a 887 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 888 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 889
mbed_official 330:c80ac197fa6a 890 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 891 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 892 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 893 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
mbed_official 330:c80ac197fa6a 894 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 895 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 896 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
mbed_official 330:c80ac197fa6a 897 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
mbed_official 330:c80ac197fa6a 898
mbed_official 330:c80ac197fa6a 899 /* STM32F302xB/STM32F302xC/STM32F302xE devices comparator instances blanking source values */
mbed_official 330:c80ac197fa6a 900 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
mbed_official 330:c80ac197fa6a 901 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
mbed_official 330:c80ac197fa6a 902 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 903 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 904 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 905 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
mbed_official 330:c80ac197fa6a 906 || \
mbed_official 330:c80ac197fa6a 907 (((INSTANCE) == COMP4) && \
mbed_official 330:c80ac197fa6a 908 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 909 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 910 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
mbed_official 330:c80ac197fa6a 911 || \
mbed_official 330:c80ac197fa6a 912 (((INSTANCE) == COMP6) && \
mbed_official 330:c80ac197fa6a 913 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 914 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 915 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
mbed_official 330:c80ac197fa6a 916
mbed_official 330:c80ac197fa6a 917 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
mbed_official 330:c80ac197fa6a 918
mbed_official 330:c80ac197fa6a 919 /**
mbed_official 330:c80ac197fa6a 920 * @}
mbed_official 330:c80ac197fa6a 921 */
mbed_official 330:c80ac197fa6a 922
mbed_official 330:c80ac197fa6a 923 /** @defgroup COMPEx_ExtiLineEvent COMP Extended EXTI Line Event (STM32F302xC Product devices)
mbed_official 330:c80ac197fa6a 924 * Elements values convention: XXXXZYYY
mbed_official 330:c80ac197fa6a 925 * - XXXX : Interrupt mask in the register list where Z equal 0x0
mbed_official 330:c80ac197fa6a 926 * - YYY : Interrupt mask in the register list where Z equal 0x1
mbed_official 330:c80ac197fa6a 927 * - Z : register index(4bits)
mbed_official 330:c80ac197fa6a 928 * - 0x0: EMR/IMR/RTSR/FTSR register
mbed_official 330:c80ac197fa6a 929 * - 0x1: EMR2/IMR2/RTSR2/FTSR2 register
mbed_official 330:c80ac197fa6a 930 * @{
mbed_official 330:c80ac197fa6a 931 */
mbed_official 330:c80ac197fa6a 932 #define COMP_EXTI_LINE_MASK ((uint32_t)0xffff0fff) /*!< Mask on possible line values */
mbed_official 330:c80ac197fa6a 933 #define COMP_EXTI_LINE_REG_MASK ((uint32_t)0x00001000) /*!< Mask on possible register values */
mbed_official 330:c80ac197fa6a 934 #define COMP_EXTI_LINE_COMP1_EVENT ((uint32_t)0x00200000) /*!< External interrupt line 21 Connected to COMP1 */
mbed_official 330:c80ac197fa6a 935 #define COMP_EXTI_LINE_COMP2_EVENT ((uint32_t)0x00400000) /*!< External interrupt line 22 Connected to COMP2 */
mbed_official 330:c80ac197fa6a 936 #define COMP_EXTI_LINE_COMP4_EVENT ((uint32_t)0x40000000) /*!< External interrupt line 30 Connected to COMP4 */
mbed_official 330:c80ac197fa6a 937 #define COMP_EXTI_LINE_COMP6_EVENT ((uint32_t)0x00001001) /*!< External interrupt line 32 Connected to COMP6 */
mbed_official 330:c80ac197fa6a 938
mbed_official 330:c80ac197fa6a 939 /**
mbed_official 330:c80ac197fa6a 940 * @}
mbed_official 330:c80ac197fa6a 941 */
mbed_official 330:c80ac197fa6a 942 #endif /* STM32F302xE || */
mbed_official 330:c80ac197fa6a 943 /* STM32F302xC */
mbed_official 330:c80ac197fa6a 944
mbed_official 330:c80ac197fa6a 945 #if defined(STM32F303xE) || defined(STM32F398xx) || \
mbed_official 330:c80ac197fa6a 946 defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 947 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F303xE/STM32F398xx/STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 948 * @{
mbed_official 330:c80ac197fa6a 949 */
mbed_official 330:c80ac197fa6a 950 /* No blanking source can be selected for all comparators */
mbed_official 330:c80ac197fa6a 951 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
mbed_official 330:c80ac197fa6a 952 /* Blanking source common for COMP1, COMP2, COMP3 and COMP7 */
mbed_official 330:c80ac197fa6a 953 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 954 /* Blanking source common for COMP1 and COMP2 */
mbed_official 330:c80ac197fa6a 955 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC5 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 956 /* Blanking source common for COMP1, COMP2 and COMP5 */
mbed_official 330:c80ac197fa6a 957 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC3 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 958 /* Blanking source common for COMP3 and COMP6 */
mbed_official 330:c80ac197fa6a 959 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 960 /* Blanking source common for COMP4, COMP5, COMP6 and COMP7 */
mbed_official 330:c80ac197fa6a 961 #define COMP_BLANKINGSRCE_TIM8OC5 COMP_CSR_COMPxBLANKING_1 /*!< TIM8 OC5 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 962 /* Blanking source for COMP4 */
mbed_official 330:c80ac197fa6a 963 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 964 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 965 /* Blanking source common for COMP6 and COMP7 */
mbed_official 330:c80ac197fa6a 966 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for comparator */
mbed_official 330:c80ac197fa6a 967
mbed_official 330:c80ac197fa6a 968 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 969 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 970 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 971 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
mbed_official 330:c80ac197fa6a 972 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 973 ((SOURCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
mbed_official 330:c80ac197fa6a 974 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 975 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
mbed_official 330:c80ac197fa6a 976 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
mbed_official 330:c80ac197fa6a 977
mbed_official 330:c80ac197fa6a 978 /* STM32F303xE/STM32F398xx/STM32F303xB/STM32F303xC/STM32F358xx devices comparator instances blanking source values */
mbed_official 330:c80ac197fa6a 979 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
mbed_official 330:c80ac197fa6a 980 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
mbed_official 330:c80ac197fa6a 981 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 982 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 983 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
mbed_official 330:c80ac197fa6a 984 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
mbed_official 330:c80ac197fa6a 985 || \
mbed_official 330:c80ac197fa6a 986 (((INSTANCE) == COMP3) && \
mbed_official 330:c80ac197fa6a 987 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 988 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 989 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4))) \
mbed_official 330:c80ac197fa6a 990 || \
mbed_official 330:c80ac197fa6a 991 (((INSTANCE) == COMP4) && \
mbed_official 330:c80ac197fa6a 992 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 993 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
mbed_official 330:c80ac197fa6a 994 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
mbed_official 330:c80ac197fa6a 995 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
mbed_official 330:c80ac197fa6a 996 || \
mbed_official 330:c80ac197fa6a 997 (((INSTANCE) == COMP5) && \
mbed_official 330:c80ac197fa6a 998 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 999 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
mbed_official 330:c80ac197fa6a 1000 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
mbed_official 330:c80ac197fa6a 1001 || \
mbed_official 330:c80ac197fa6a 1002 (((INSTANCE) == COMP6) && \
mbed_official 330:c80ac197fa6a 1003 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 1004 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
mbed_official 330:c80ac197fa6a 1005 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
mbed_official 330:c80ac197fa6a 1006 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))) \
mbed_official 330:c80ac197fa6a 1007 || \
mbed_official 330:c80ac197fa6a 1008 (((INSTANCE) == COMP7) && \
mbed_official 330:c80ac197fa6a 1009 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
mbed_official 330:c80ac197fa6a 1010 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
mbed_official 330:c80ac197fa6a 1011 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
mbed_official 330:c80ac197fa6a 1012 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
mbed_official 330:c80ac197fa6a 1013
mbed_official 330:c80ac197fa6a 1014 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
mbed_official 330:c80ac197fa6a 1015
mbed_official 330:c80ac197fa6a 1016 /**
mbed_official 330:c80ac197fa6a 1017 * @}
mbed_official 330:c80ac197fa6a 1018 */
mbed_official 330:c80ac197fa6a 1019
mbed_official 330:c80ac197fa6a 1020 /** @defgroup COMPEx_ExtiLineEvent COMP Extended EXTI Line Event (STM32F303xE/STM32F398xx/STM32F303xC/STM32F358xx Product devices)
mbed_official 330:c80ac197fa6a 1021 * Elements values convention: XXXXZYYY
mbed_official 330:c80ac197fa6a 1022 * - XXXX : Interrupt mask in the register list where Z equal 0x0
mbed_official 330:c80ac197fa6a 1023 * - YYY : Interrupt mask in the register list where Z equal 0x1
mbed_official 330:c80ac197fa6a 1024 * - Z : register index(4bits)
mbed_official 330:c80ac197fa6a 1025 * - 0x0: EMR/IMR/RTSR/FTSR register
mbed_official 330:c80ac197fa6a 1026 * - 0x1: EMR2/IMR2/RTSR2/FTSR2 register
mbed_official 330:c80ac197fa6a 1027 * @{
mbed_official 330:c80ac197fa6a 1028 */
mbed_official 330:c80ac197fa6a 1029 #define COMP_EXTI_LINE_MASK ((uint32_t)0xffff0fff) /*!< Mask on possible line values */
mbed_official 330:c80ac197fa6a 1030 #define COMP_EXTI_LINE_REG_MASK ((uint32_t)0x00001000) /*!< Mask on possible register values */
mbed_official 330:c80ac197fa6a 1031 #define COMP_EXTI_LINE_COMP1_EVENT ((uint32_t)0x00200000) /*!< External interrupt line 21 Connected to COMP1 */
mbed_official 330:c80ac197fa6a 1032 #define COMP_EXTI_LINE_COMP2_EVENT ((uint32_t)0x00400000) /*!< External interrupt line 22 Connected to COMP2 */
mbed_official 330:c80ac197fa6a 1033 #define COMP_EXTI_LINE_COMP3_EVENT ((uint32_t)0x20000000) /*!< External interrupt line 29 Connected to COMP3 */
mbed_official 330:c80ac197fa6a 1034 #define COMP_EXTI_LINE_COMP4_EVENT ((uint32_t)0x40000000) /*!< External interrupt line 30 Connected to COMP4 */
mbed_official 330:c80ac197fa6a 1035 #define COMP_EXTI_LINE_COMP5_EVENT ((uint32_t)0x80000000) /*!< External interrupt line 31 Connected to COMP5 */
mbed_official 330:c80ac197fa6a 1036 #define COMP_EXTI_LINE_COMP6_EVENT ((uint32_t)0x00001001) /*!< External interrupt line 32 Connected to COMP6 */
mbed_official 330:c80ac197fa6a 1037 #define COMP_EXTI_LINE_COMP7_EVENT ((uint32_t)0x00001002) /*!< External interrupt line 33 Connected to COMP7 */
mbed_official 330:c80ac197fa6a 1038
mbed_official 330:c80ac197fa6a 1039 /**
mbed_official 330:c80ac197fa6a 1040 * @}
mbed_official 330:c80ac197fa6a 1041 */
mbed_official 330:c80ac197fa6a 1042 #endif /* STM32F303xE || STM32F398xx || */
mbed_official 330:c80ac197fa6a 1043 /* STM32F303xC || STM32F358xx */
mbed_official 330:c80ac197fa6a 1044
mbed_official 330:c80ac197fa6a 1045 #if defined(STM32F373xC) ||defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 1046 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 1047 * @{
mbed_official 330:c80ac197fa6a 1048 */
mbed_official 330:c80ac197fa6a 1049 /* No blanking source can be selected for all comparators */
mbed_official 330:c80ac197fa6a 1050 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
mbed_official 330:c80ac197fa6a 1051
mbed_official 330:c80ac197fa6a 1052 #define IS_COMP_BLANKINGSRCE(SOURCE) ((SOURCE) == (SOURCE)) /*!< Not available: check always true */
mbed_official 330:c80ac197fa6a 1053
mbed_official 330:c80ac197fa6a 1054 /* STM32F373xB/STM32F373xC/STM32F378xx devices comparator instances blanking source values */
mbed_official 330:c80ac197fa6a 1055 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
mbed_official 330:c80ac197fa6a 1056 ((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
mbed_official 330:c80ac197fa6a 1057 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE))
mbed_official 330:c80ac197fa6a 1058
mbed_official 330:c80ac197fa6a 1059 #define COMP_CSR_COMPxBLANKING_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
mbed_official 330:c80ac197fa6a 1060
mbed_official 330:c80ac197fa6a 1061 /**
mbed_official 330:c80ac197fa6a 1062 * @}
mbed_official 330:c80ac197fa6a 1063 */
mbed_official 330:c80ac197fa6a 1064
mbed_official 330:c80ac197fa6a 1065 /** @defgroup COMPEx_ExtiLineEvent COMP Extended EXTI Line Event (STM32F373xC/STM32F378xx Product devices)
mbed_official 330:c80ac197fa6a 1066 * Elements values convention: XXXX0000
mbed_official 330:c80ac197fa6a 1067 * - XXXX : Interrupt mask in the EMR/IMR/RTSR/FTSR register
mbed_official 330:c80ac197fa6a 1068 * @{
mbed_official 330:c80ac197fa6a 1069 */
mbed_official 330:c80ac197fa6a 1070 #define COMP_EXTI_LINE_COMP1_EVENT ((uint32_t)0x00200000) /*!< External interrupt line 21 Connected to COMP1 */
mbed_official 330:c80ac197fa6a 1071 #define COMP_EXTI_LINE_COMP2_EVENT ((uint32_t)0x00400000) /*!< External interrupt line 22 Connected to COMP2 */
mbed_official 330:c80ac197fa6a 1072
mbed_official 330:c80ac197fa6a 1073 /**
mbed_official 330:c80ac197fa6a 1074 * @}
mbed_official 330:c80ac197fa6a 1075 */
mbed_official 330:c80ac197fa6a 1076 #endif /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 1077
mbed_official 330:c80ac197fa6a 1078 #if defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 1079 /* CSR register reset value */
mbed_official 330:c80ac197fa6a 1080 #define COMP_CSR_RESET_VALUE ((uint32_t)0x00000000)
mbed_official 330:c80ac197fa6a 1081 #define COMP_CSR_RESET_PARAMETERS_MASK ((uint32_t)0x00003FFF)
mbed_official 330:c80ac197fa6a 1082 #define COMP_CSR_UPDATE_PARAMETERS_MASK ((uint32_t)0x00003FFE)
mbed_official 330:c80ac197fa6a 1083 /* CSR COMP1/COMP2 shift */
mbed_official 330:c80ac197fa6a 1084 #define COMP_CSR_COMP1_SHIFT 0U
mbed_official 330:c80ac197fa6a 1085 #define COMP_CSR_COMP2_SHIFT 16U
mbed_official 330:c80ac197fa6a 1086 #else
mbed_official 330:c80ac197fa6a 1087 /* CSR register reset value */
mbed_official 330:c80ac197fa6a 1088 #define COMP_CSR_RESET_VALUE ((uint32_t)0x00000000)
mbed_official 330:c80ac197fa6a 1089 #endif /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 1090 /* CSR masks redefinition for internal use */
mbed_official 330:c80ac197fa6a 1091 #define COMP_CSR_COMPxINSEL_MASK COMP_CSR_COMPxINSEL /*!< COMP_CSR_COMPxINSEL Mask */
mbed_official 330:c80ac197fa6a 1092 #define COMP_CSR_COMPxOUTSEL_MASK COMP_CSR_COMPxOUTSEL /*!< COMP_CSR_COMPxOUTSEL Mask */
mbed_official 330:c80ac197fa6a 1093 #define COMP_CSR_COMPxPOL_MASK COMP_CSR_COMPxPOL /*!< COMP_CSR_COMPxPOL Mask */
mbed_official 330:c80ac197fa6a 1094
mbed_official 330:c80ac197fa6a 1095 /**
mbed_official 330:c80ac197fa6a 1096 * @}
mbed_official 330:c80ac197fa6a 1097 */
mbed_official 330:c80ac197fa6a 1098
mbed_official 330:c80ac197fa6a 1099 /* Exported macro ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1100 /** @defgroup USARTEx_Exported_Macros USART Extended Exported Macros
mbed_official 330:c80ac197fa6a 1101 * @{
mbed_official 330:c80ac197fa6a 1102 */
mbed_official 330:c80ac197fa6a 1103 #if defined(STM32F373xC) ||defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 1104 /**
mbed_official 330:c80ac197fa6a 1105 * @brief Checks whether the specified EXTI line flag is set or not.
mbed_official 330:c80ac197fa6a 1106 * @param __FLAG__: specifies the COMP Exti sources to be checked.
mbed_official 330:c80ac197fa6a 1107 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1108 * @retval The state of __FLAG__ (SET or RESET).
mbed_official 330:c80ac197fa6a 1109 */
mbed_official 330:c80ac197fa6a 1110 #define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (EXTI->PR & (__FLAG__))
mbed_official 330:c80ac197fa6a 1111
mbed_official 330:c80ac197fa6a 1112 /**
mbed_official 330:c80ac197fa6a 1113 * @brief Clear the COMP Exti flags.
mbed_official 330:c80ac197fa6a 1114 * @param __FLAG__: specifies the COMP Exti sources to be cleared.
mbed_official 330:c80ac197fa6a 1115 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1116 * @retval None.
mbed_official 330:c80ac197fa6a 1117 */
mbed_official 330:c80ac197fa6a 1118 #define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (EXTI->PR = (__FLAG__))
mbed_official 330:c80ac197fa6a 1119
mbed_official 330:c80ac197fa6a 1120 /**
mbed_official 330:c80ac197fa6a 1121 * @brief Enable the COMP Exti Line.
mbed_official 330:c80ac197fa6a 1122 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1123 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1124 * @retval None.
mbed_official 330:c80ac197fa6a 1125 */
mbed_official 330:c80ac197fa6a 1126 #define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (EXTI->IMR |= (__EXTILINE__))
mbed_official 330:c80ac197fa6a 1127
mbed_official 330:c80ac197fa6a 1128 /**
mbed_official 330:c80ac197fa6a 1129 * @brief Disable the COMP Exti Line.
mbed_official 330:c80ac197fa6a 1130 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1131 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1132 * @retval None.
mbed_official 330:c80ac197fa6a 1133 */
mbed_official 330:c80ac197fa6a 1134 #define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (EXTI->IMR &= ~(__EXTILINE__))
mbed_official 330:c80ac197fa6a 1135
mbed_official 330:c80ac197fa6a 1136 /**
mbed_official 330:c80ac197fa6a 1137 * @brief Enable the Exti Line rising edge trigger.
mbed_official 330:c80ac197fa6a 1138 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1139 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1140 * @retval None.
mbed_official 330:c80ac197fa6a 1141 */
mbed_official 330:c80ac197fa6a 1142 #define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (EXTI->RTSR |= (__EXTILINE__))
mbed_official 330:c80ac197fa6a 1143
mbed_official 330:c80ac197fa6a 1144 /**
mbed_official 330:c80ac197fa6a 1145 * @brief Disable the Exti Line rising edge trigger.
mbed_official 330:c80ac197fa6a 1146 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1147 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1148 * @retval None.
mbed_official 330:c80ac197fa6a 1149 */
mbed_official 330:c80ac197fa6a 1150 #define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (EXTI->RTSR &= ~(__EXTILINE__))
mbed_official 330:c80ac197fa6a 1151
mbed_official 330:c80ac197fa6a 1152 /**
mbed_official 330:c80ac197fa6a 1153 * @brief Enable the Exti Line falling edge trigger.
mbed_official 330:c80ac197fa6a 1154 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1155 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1156 * @retval None.
mbed_official 330:c80ac197fa6a 1157 */
mbed_official 330:c80ac197fa6a 1158 #define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (EXTI->FTSR |= (__EXTILINE__))
mbed_official 330:c80ac197fa6a 1159
mbed_official 330:c80ac197fa6a 1160 /**
mbed_official 330:c80ac197fa6a 1161 * @brief Disable the Exti Line falling edge trigger.
mbed_official 330:c80ac197fa6a 1162 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1163 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1164 * @retval None.
mbed_official 330:c80ac197fa6a 1165 */
mbed_official 330:c80ac197fa6a 1166 #define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (EXTI->FTSR &= ~(__EXTILINE__))
mbed_official 330:c80ac197fa6a 1167
mbed_official 330:c80ac197fa6a 1168 /**
mbed_official 330:c80ac197fa6a 1169 * @brief Init a comparator instance
mbed_official 330:c80ac197fa6a 1170 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1171 * @note The common output selection is checked versus the COMP instance to set the right output configuration
mbed_official 330:c80ac197fa6a 1172 * @retval None.
mbed_official 330:c80ac197fa6a 1173 */
mbed_official 330:c80ac197fa6a 1174 #define COMP_OUTPUT_COMP2_TIM2IC4 ((uint32_t)0x0400) /*!< COMP2 output connected to TIM2 Input Capture 4 */
mbed_official 330:c80ac197fa6a 1175 #define COMP_OUTPUT_COMP2_TIM2OCREFCLR ((uint32_t)0x0500) /*!< COMP2 output connected to TIM4 OCREF Clear */
mbed_official 330:c80ac197fa6a 1176 #define COMP_OUTPUT_COMP2_TIM3IC1 ((uint32_t)0x0600) /*!< COMP2 output connected to TIM3 Input Capture 1 */
mbed_official 330:c80ac197fa6a 1177 #define COMP_OUTPUT_COMP2_TIM3OCREFCLR ((uint32_t)0x0700) /*!< COMP2 output connected to TIM3 OCREF Clear */
mbed_official 330:c80ac197fa6a 1178
mbed_official 330:c80ac197fa6a 1179 #define COMP_INIT(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1180 do { \
mbed_official 330:c80ac197fa6a 1181 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
mbed_official 330:c80ac197fa6a 1182 uint32_t compoutput = (__HANDLE__)->Init.Output; \
mbed_official 330:c80ac197fa6a 1183 \
mbed_official 330:c80ac197fa6a 1184 if((__HANDLE__)->Instance == COMP2) \
mbed_official 330:c80ac197fa6a 1185 { \
mbed_official 330:c80ac197fa6a 1186 regshift = COMP_CSR_COMP2_SHIFT; \
mbed_official 330:c80ac197fa6a 1187 switch((__HANDLE__)->Init.Output) \
mbed_official 330:c80ac197fa6a 1188 { \
mbed_official 330:c80ac197fa6a 1189 case COMP_OUTPUT_TIM2IC4: \
mbed_official 330:c80ac197fa6a 1190 compoutput = COMP_OUTPUT_COMP2_TIM2IC4; \
mbed_official 330:c80ac197fa6a 1191 break; \
mbed_official 330:c80ac197fa6a 1192 case COMP_OUTPUT_TIM2OCREFCLR: \
mbed_official 330:c80ac197fa6a 1193 compoutput = COMP_OUTPUT_COMP2_TIM2OCREFCLR; \
mbed_official 330:c80ac197fa6a 1194 break; \
mbed_official 330:c80ac197fa6a 1195 case COMP_OUTPUT_TIM3IC1: \
mbed_official 330:c80ac197fa6a 1196 compoutput = COMP_OUTPUT_COMP2_TIM3IC1; \
mbed_official 330:c80ac197fa6a 1197 break; \
mbed_official 330:c80ac197fa6a 1198 case COMP_OUTPUT_TIM3OCREFCLR: \
mbed_official 330:c80ac197fa6a 1199 compoutput = COMP_OUTPUT_COMP2_TIM3OCREFCLR; \
mbed_official 330:c80ac197fa6a 1200 break; \
mbed_official 330:c80ac197fa6a 1201 default: \
mbed_official 330:c80ac197fa6a 1202 break; \
mbed_official 330:c80ac197fa6a 1203 } \
mbed_official 330:c80ac197fa6a 1204 } \
mbed_official 330:c80ac197fa6a 1205 \
mbed_official 330:c80ac197fa6a 1206 MODIFY_REG(COMP->CSR, \
mbed_official 330:c80ac197fa6a 1207 (COMP_CSR_COMPxINSEL | COMP_CSR_COMPxNONINSEL_MASK | \
mbed_official 330:c80ac197fa6a 1208 COMP_CSR_COMPxOUTSEL | COMP_CSR_COMPxPOL | \
mbed_official 330:c80ac197fa6a 1209 COMP_CSR_COMPxHYST | COMP_CSR_COMPxMODE) << regshift, \
mbed_official 330:c80ac197fa6a 1210 ((__HANDLE__)->Init.InvertingInput | \
mbed_official 330:c80ac197fa6a 1211 (__HANDLE__)->Init.NonInvertingInput | \
mbed_official 330:c80ac197fa6a 1212 compoutput | \
mbed_official 330:c80ac197fa6a 1213 (__HANDLE__)->Init.OutputPol | \
mbed_official 330:c80ac197fa6a 1214 (__HANDLE__)->Init.Hysteresis | \
mbed_official 330:c80ac197fa6a 1215 (__HANDLE__)->Init.Mode) << regshift); \
mbed_official 330:c80ac197fa6a 1216 \
mbed_official 330:c80ac197fa6a 1217 if((__HANDLE__)->Init.WindowMode != COMP_WINDOWMODE_DISABLED) \
mbed_official 330:c80ac197fa6a 1218 { \
mbed_official 330:c80ac197fa6a 1219 COMP->CSR |= COMP_CSR_WNDWEN; \
mbed_official 330:c80ac197fa6a 1220 } \
mbed_official 330:c80ac197fa6a 1221 } while(0)
mbed_official 330:c80ac197fa6a 1222
mbed_official 330:c80ac197fa6a 1223 /**
mbed_official 330:c80ac197fa6a 1224 * @brief DeInit a comparator instance
mbed_official 330:c80ac197fa6a 1225 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1226 * @retval None.
mbed_official 330:c80ac197fa6a 1227 */
mbed_official 330:c80ac197fa6a 1228 #define COMP_DEINIT(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1229 do { \
mbed_official 330:c80ac197fa6a 1230 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
mbed_official 330:c80ac197fa6a 1231 \
mbed_official 330:c80ac197fa6a 1232 if((__HANDLE__)->Instance == COMP2) \
mbed_official 330:c80ac197fa6a 1233 { \
mbed_official 330:c80ac197fa6a 1234 regshift = COMP_CSR_COMP2_SHIFT; \
mbed_official 330:c80ac197fa6a 1235 } \
mbed_official 330:c80ac197fa6a 1236 MODIFY_REG(COMP->CSR, \
mbed_official 330:c80ac197fa6a 1237 COMP_CSR_RESET_PARAMETERS_MASK << regshift, \
mbed_official 330:c80ac197fa6a 1238 COMP_CSR_RESET_VALUE << regshift); \
mbed_official 330:c80ac197fa6a 1239 } while(0)
mbed_official 330:c80ac197fa6a 1240
mbed_official 330:c80ac197fa6a 1241 /**
mbed_official 330:c80ac197fa6a 1242 * @brief Start a comparator instance
mbed_official 330:c80ac197fa6a 1243 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1244 * @retval None.
mbed_official 330:c80ac197fa6a 1245 */
mbed_official 330:c80ac197fa6a 1246 #define COMP_START(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1247 do { \
mbed_official 330:c80ac197fa6a 1248 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
mbed_official 330:c80ac197fa6a 1249 \
mbed_official 330:c80ac197fa6a 1250 if((__HANDLE__)->Instance == COMP2) \
mbed_official 330:c80ac197fa6a 1251 { \
mbed_official 330:c80ac197fa6a 1252 regshift = COMP_CSR_COMP2_SHIFT; \
mbed_official 330:c80ac197fa6a 1253 } \
mbed_official 330:c80ac197fa6a 1254 SET_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxEN << regshift); \
mbed_official 330:c80ac197fa6a 1255 } while(0)
mbed_official 330:c80ac197fa6a 1256
mbed_official 330:c80ac197fa6a 1257 /**
mbed_official 330:c80ac197fa6a 1258 * @brief Stop a comparator instance
mbed_official 330:c80ac197fa6a 1259 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1260 * @retval None.
mbed_official 330:c80ac197fa6a 1261 */
mbed_official 330:c80ac197fa6a 1262 #define COMP_STOP(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1263 do { \
mbed_official 330:c80ac197fa6a 1264 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
mbed_official 330:c80ac197fa6a 1265 \
mbed_official 330:c80ac197fa6a 1266 if((__HANDLE__)->Instance == COMP2) \
mbed_official 330:c80ac197fa6a 1267 { \
mbed_official 330:c80ac197fa6a 1268 regshift = COMP_CSR_COMP2_SHIFT; \
mbed_official 330:c80ac197fa6a 1269 } \
mbed_official 330:c80ac197fa6a 1270 CLEAR_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxEN << regshift); \
mbed_official 330:c80ac197fa6a 1271 } while(0)
mbed_official 330:c80ac197fa6a 1272
mbed_official 330:c80ac197fa6a 1273 /**
mbed_official 330:c80ac197fa6a 1274 * @brief Lock a comparator instance
mbed_official 330:c80ac197fa6a 1275 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1276 * @retval None.
mbed_official 330:c80ac197fa6a 1277 */
mbed_official 330:c80ac197fa6a 1278 #define COMP_LOCK(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1279 do { \
mbed_official 330:c80ac197fa6a 1280 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
mbed_official 330:c80ac197fa6a 1281 \
mbed_official 330:c80ac197fa6a 1282 if((__HANDLE__)->Instance == COMP2) \
mbed_official 330:c80ac197fa6a 1283 { \
mbed_official 330:c80ac197fa6a 1284 regshift = COMP_CSR_COMP2_SHIFT; \
mbed_official 330:c80ac197fa6a 1285 } \
mbed_official 330:c80ac197fa6a 1286 SET_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxLOCK << regshift); \
mbed_official 330:c80ac197fa6a 1287 } while(0)
mbed_official 330:c80ac197fa6a 1288
mbed_official 330:c80ac197fa6a 1289 #else
mbed_official 330:c80ac197fa6a 1290 /**
mbed_official 330:c80ac197fa6a 1291 * @brief Checks whether the specified EXTI line flag is set or not.
mbed_official 330:c80ac197fa6a 1292 * @param __EXTILINE__: specifies the COMP Exti sources to be checked.
mbed_official 330:c80ac197fa6a 1293 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1294 * @retval The state of __FLAG__ (SET or RESET).
mbed_official 330:c80ac197fa6a 1295 */
mbed_official 330:c80ac197fa6a 1296 #define __HAL_COMP_EXTI_GET_FLAG(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1297 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->PR2 & (__EXTILINE__)) : (EXTI->PR & (__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1298
mbed_official 330:c80ac197fa6a 1299 /**
mbed_official 330:c80ac197fa6a 1300 * @brief Clear the COMP Exti flags.
mbed_official 330:c80ac197fa6a 1301 * @param __EXTILINE__: specifies the COMP Exti sources to be cleared.
mbed_official 330:c80ac197fa6a 1302 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1303 * @retval None.
mbed_official 330:c80ac197fa6a 1304 */
mbed_official 330:c80ac197fa6a 1305 #define __HAL_COMP_EXTI_CLEAR_FLAG(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1306 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->PR2 = (__EXTILINE__)) : (EXTI->PR = (__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1307
mbed_official 330:c80ac197fa6a 1308 /**
mbed_official 330:c80ac197fa6a 1309 * @brief Enable the COMP Exti Line.
mbed_official 330:c80ac197fa6a 1310 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1311 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1312 * @retval None.
mbed_official 330:c80ac197fa6a 1313 */
mbed_official 330:c80ac197fa6a 1314 #define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1315 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->IMR2 |= (__EXTILINE__)) : (EXTI->IMR |= (__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1316
mbed_official 330:c80ac197fa6a 1317 /**
mbed_official 330:c80ac197fa6a 1318 * @brief Disable the COMP Exti Line.
mbed_official 330:c80ac197fa6a 1319 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1320 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1321 * @retval None.
mbed_official 330:c80ac197fa6a 1322 */
mbed_official 330:c80ac197fa6a 1323 #define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1324 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->IMR2 &= ~(__EXTILINE__)) : (EXTI->IMR &= ~(__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1325
mbed_official 330:c80ac197fa6a 1326 /**
mbed_official 330:c80ac197fa6a 1327 * @brief Enable the Exti Line rising edge trigger.
mbed_official 330:c80ac197fa6a 1328 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1329 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1330 * @retval None.
mbed_official 330:c80ac197fa6a 1331 */
mbed_official 330:c80ac197fa6a 1332 #define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1333 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->RTSR2 |= (__EXTILINE__)) : (EXTI->RTSR |= (__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1334
mbed_official 330:c80ac197fa6a 1335 /**
mbed_official 330:c80ac197fa6a 1336 * @brief Disable the Exti Line rising edge trigger.
mbed_official 330:c80ac197fa6a 1337 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1338 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1339 * @retval None.
mbed_official 330:c80ac197fa6a 1340 */
mbed_official 330:c80ac197fa6a 1341 #define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1342 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->RTSR2 &= ~(__EXTILINE__)) : (EXTI->RTSR &= ~(__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1343
mbed_official 330:c80ac197fa6a 1344 /**
mbed_official 330:c80ac197fa6a 1345 * @brief Enable the Exti Line falling edge trigger.
mbed_official 330:c80ac197fa6a 1346 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
mbed_official 330:c80ac197fa6a 1347 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1348 * @retval None.
mbed_official 330:c80ac197fa6a 1349 */
mbed_official 330:c80ac197fa6a 1350 #define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1351 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->FTSR2 |= (__EXTILINE__)) : (EXTI->FTSR |= (__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1352
mbed_official 330:c80ac197fa6a 1353 /**
mbed_official 330:c80ac197fa6a 1354 * @brief Disable the Exti Line falling edge trigger.
mbed_official 330:c80ac197fa6a 1355 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
mbed_official 330:c80ac197fa6a 1356 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1357 * @retval None.
mbed_official 330:c80ac197fa6a 1358 */
mbed_official 330:c80ac197fa6a 1359 #define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) \
mbed_official 330:c80ac197fa6a 1360 ((((__EXTILINE__) & COMP_EXTI_LINE_REG_MASK) != RESET) ? (EXTI->FTSR2 &= ~(__EXTILINE__)) : (EXTI->FTSR &= ~(__EXTILINE__)))
mbed_official 330:c80ac197fa6a 1361
mbed_official 330:c80ac197fa6a 1362
mbed_official 330:c80ac197fa6a 1363 /**
mbed_official 330:c80ac197fa6a 1364 * @brief Init a comparator instance
mbed_official 330:c80ac197fa6a 1365 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1366 * @retval None.
mbed_official 330:c80ac197fa6a 1367 */
mbed_official 330:c80ac197fa6a 1368 #define COMP_INIT(__HANDLE__) \
mbed_official 330:c80ac197fa6a 1369 do { \
mbed_official 330:c80ac197fa6a 1370 __IO uint32_t csrreg = 0; \
mbed_official 330:c80ac197fa6a 1371 \
mbed_official 330:c80ac197fa6a 1372 csrreg = READ_REG((__HANDLE__)->Instance->CSR); \
mbed_official 330:c80ac197fa6a 1373 MODIFY_REG(csrreg, COMP_CSR_COMPxINSEL_MASK, (__HANDLE__)->Init.InvertingInput); \
mbed_official 330:c80ac197fa6a 1374 MODIFY_REG(csrreg, COMP_CSR_COMPxNONINSEL_MASK, (__HANDLE__)->Init.NonInvertingInput); \
mbed_official 330:c80ac197fa6a 1375 MODIFY_REG(csrreg, COMP_CSR_COMPxBLANKING_MASK, (__HANDLE__)->Init.BlankingSrce); \
mbed_official 330:c80ac197fa6a 1376 MODIFY_REG(csrreg, COMP_CSR_COMPxOUTSEL_MASK, (__HANDLE__)->Init.Output); \
mbed_official 330:c80ac197fa6a 1377 MODIFY_REG(csrreg, COMP_CSR_COMPxPOL_MASK, (__HANDLE__)->Init.OutputPol); \
mbed_official 330:c80ac197fa6a 1378 MODIFY_REG(csrreg, COMP_CSR_COMPxHYST_MASK, (__HANDLE__)->Init.Hysteresis); \
mbed_official 330:c80ac197fa6a 1379 MODIFY_REG(csrreg, COMP_CSR_COMPxMODE_MASK, (__HANDLE__)->Init.Mode); \
mbed_official 330:c80ac197fa6a 1380 MODIFY_REG(csrreg, COMP_CSR_COMPxWNDWEN_MASK, (__HANDLE__)->Init.WindowMode); \
mbed_official 330:c80ac197fa6a 1381 WRITE_REG((__HANDLE__)->Instance->CSR, csrreg); \
mbed_official 330:c80ac197fa6a 1382 } while(0)
mbed_official 330:c80ac197fa6a 1383
mbed_official 330:c80ac197fa6a 1384 /**
mbed_official 330:c80ac197fa6a 1385 * @brief DeInit a comparator instance
mbed_official 330:c80ac197fa6a 1386 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1387 * @retval None.
mbed_official 330:c80ac197fa6a 1388 */
mbed_official 330:c80ac197fa6a 1389 #define COMP_DEINIT(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->CSR, COMP_CSR_RESET_VALUE)
mbed_official 330:c80ac197fa6a 1390
mbed_official 330:c80ac197fa6a 1391 /**
mbed_official 330:c80ac197fa6a 1392 * @brief Start a comparator instance
mbed_official 330:c80ac197fa6a 1393 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1394 * @retval None.
mbed_official 330:c80ac197fa6a 1395 */
mbed_official 330:c80ac197fa6a 1396 #define COMP_START(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxEN)
mbed_official 330:c80ac197fa6a 1397
mbed_official 330:c80ac197fa6a 1398 /**
mbed_official 330:c80ac197fa6a 1399 * @brief Stop a comparator instance
mbed_official 330:c80ac197fa6a 1400 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1401 * @retval None.
mbed_official 330:c80ac197fa6a 1402 */
mbed_official 330:c80ac197fa6a 1403 #define COMP_STOP(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxEN)
mbed_official 330:c80ac197fa6a 1404
mbed_official 330:c80ac197fa6a 1405 /**
mbed_official 330:c80ac197fa6a 1406 * @brief Lock a comparator instance
mbed_official 330:c80ac197fa6a 1407 * @param __HANDLE__: specifies the COMP handle
mbed_official 330:c80ac197fa6a 1408 * @retval None.
mbed_official 330:c80ac197fa6a 1409 */
mbed_official 330:c80ac197fa6a 1410 #define COMP_LOCK(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxLOCK)
mbed_official 330:c80ac197fa6a 1411
mbed_official 330:c80ac197fa6a 1412 #endif /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 1413
mbed_official 330:c80ac197fa6a 1414 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
mbed_official 330:c80ac197fa6a 1415 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 330:c80ac197fa6a 1416 /**
mbed_official 330:c80ac197fa6a 1417 * @brief Get the specified EXTI line for a comparator instance
mbed_official 330:c80ac197fa6a 1418 * @param __INSTANCE__: specifies the COMP instance.
mbed_official 330:c80ac197fa6a 1419 * @retval value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1420 */
mbed_official 330:c80ac197fa6a 1421 #define __HAL_COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2_EVENT : \
mbed_official 330:c80ac197fa6a 1422 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4_EVENT : \
mbed_official 330:c80ac197fa6a 1423 COMP_EXTI_LINE_COMP6_EVENT)
mbed_official 330:c80ac197fa6a 1424 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
mbed_official 330:c80ac197fa6a 1425 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
mbed_official 330:c80ac197fa6a 1426
mbed_official 330:c80ac197fa6a 1427 #if defined(STM32F302xE) || \
mbed_official 330:c80ac197fa6a 1428 defined(STM32F302xC)
mbed_official 330:c80ac197fa6a 1429 /**
mbed_official 330:c80ac197fa6a 1430 * @brief Get the specified EXTI line for a comparator instance
mbed_official 330:c80ac197fa6a 1431 * @param __INSTANCE__: specifies the COMP instance.
mbed_official 330:c80ac197fa6a 1432 * @retval value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1433 */
mbed_official 330:c80ac197fa6a 1434 #define __HAL_COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1_EVENT : \
mbed_official 330:c80ac197fa6a 1435 ((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2_EVENT : \
mbed_official 330:c80ac197fa6a 1436 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4_EVENT : \
mbed_official 330:c80ac197fa6a 1437 COMP_EXTI_LINE_COMP6_EVENT)
mbed_official 330:c80ac197fa6a 1438 #endif /* STM32F302xE || */
mbed_official 330:c80ac197fa6a 1439 /* STM32F302xC */
mbed_official 330:c80ac197fa6a 1440
mbed_official 330:c80ac197fa6a 1441 #if defined(STM32F303xE) || defined(STM32F398xx) || \
mbed_official 330:c80ac197fa6a 1442 defined(STM32F303xC) || defined(STM32F358xx)
mbed_official 330:c80ac197fa6a 1443 /**
mbed_official 330:c80ac197fa6a 1444 * @brief Get the specified EXTI line for a comparator instance
mbed_official 330:c80ac197fa6a 1445 * @param __INSTANCE__: specifies the COMP instance.
mbed_official 330:c80ac197fa6a 1446 * @retval value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1447 */
mbed_official 330:c80ac197fa6a 1448 #define __HAL_COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1_EVENT : \
mbed_official 330:c80ac197fa6a 1449 ((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2_EVENT : \
mbed_official 330:c80ac197fa6a 1450 ((__INSTANCE__) == COMP3) ? COMP_EXTI_LINE_COMP3_EVENT : \
mbed_official 330:c80ac197fa6a 1451 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4_EVENT : \
mbed_official 330:c80ac197fa6a 1452 ((__INSTANCE__) == COMP5) ? COMP_EXTI_LINE_COMP5_EVENT : \
mbed_official 330:c80ac197fa6a 1453 ((__INSTANCE__) == COMP6) ? COMP_EXTI_LINE_COMP6_EVENT : \
mbed_official 330:c80ac197fa6a 1454 COMP_EXTI_LINE_COMP7_EVENT)
mbed_official 330:c80ac197fa6a 1455 #endif /* STM32F303xE || STM32F398xx || */
mbed_official 330:c80ac197fa6a 1456 /* STM32F303xC || STM32F358xx */
mbed_official 330:c80ac197fa6a 1457
mbed_official 330:c80ac197fa6a 1458 #if defined(STM32F373xC) ||defined(STM32F378xx)
mbed_official 330:c80ac197fa6a 1459 /**
mbed_official 330:c80ac197fa6a 1460 * @brief Get the specified EXTI line for a comparator instance
mbed_official 330:c80ac197fa6a 1461 * @param __INSTANCE__: specifies the COMP instance.
mbed_official 330:c80ac197fa6a 1462 * @retval value of @ref COMPEx_ExtiLineEvent
mbed_official 330:c80ac197fa6a 1463 */
mbed_official 330:c80ac197fa6a 1464 #define __HAL_COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1_EVENT : \
mbed_official 330:c80ac197fa6a 1465 COMP_EXTI_LINE_COMP2_EVENT)
mbed_official 330:c80ac197fa6a 1466 #endif /* STM32F373xC || STM32F378xx */
mbed_official 330:c80ac197fa6a 1467
mbed_official 330:c80ac197fa6a 1468 /**
mbed_official 330:c80ac197fa6a 1469 * @}
mbed_official 330:c80ac197fa6a 1470 */
mbed_official 330:c80ac197fa6a 1471
mbed_official 330:c80ac197fa6a 1472 /* Exported functions --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1473
mbed_official 330:c80ac197fa6a 1474 /* Initialization and de-initialization functions ****************************/
mbed_official 330:c80ac197fa6a 1475 /* IO operation functions *****************************************************/
mbed_official 330:c80ac197fa6a 1476 /* Peripheral Control functions ***********************************************/
mbed_official 330:c80ac197fa6a 1477 /* Peripheral State and Error functions ***************************************/
mbed_official 330:c80ac197fa6a 1478
mbed_official 330:c80ac197fa6a 1479 /**
mbed_official 330:c80ac197fa6a 1480 * @}
mbed_official 330:c80ac197fa6a 1481 */
mbed_official 330:c80ac197fa6a 1482
mbed_official 330:c80ac197fa6a 1483 /**
mbed_official 330:c80ac197fa6a 1484 * @}
mbed_official 330:c80ac197fa6a 1485 */
mbed_official 330:c80ac197fa6a 1486
mbed_official 330:c80ac197fa6a 1487 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 1488 }
mbed_official 330:c80ac197fa6a 1489 #endif
mbed_official 330:c80ac197fa6a 1490
mbed_official 330:c80ac197fa6a 1491 #endif /* __STM32F3xx_HAL_COMP_EX_H */
mbed_official 330:c80ac197fa6a 1492
mbed_official 330:c80ac197fa6a 1493 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/