fix LPC812 PWM
Fork of mbed-dev by
targets/cmsis/TARGET_STM/TARGET_STM32L4/stm32l4xx_hal_pwr_ex.h@129:2e517c56bcfb, 2016-05-16 (annotated)
- Committer:
- nameless129
- Date:
- Mon May 16 16:50:30 2016 +0000
- Revision:
- 129:2e517c56bcfb
- Parent:
- 0:9b334a45a8ff
PWM Fix:Duty 0%??H???????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bogdanm | 0:9b334a45a8ff | 1 | /** |
bogdanm | 0:9b334a45a8ff | 2 | ****************************************************************************** |
bogdanm | 0:9b334a45a8ff | 3 | * @file stm32l4xx_hal_pwr_ex.h |
bogdanm | 0:9b334a45a8ff | 4 | * @author MCD Application Team |
bogdanm | 0:9b334a45a8ff | 5 | * @version V1.0.0 |
bogdanm | 0:9b334a45a8ff | 6 | * @date 26-June-2015 |
bogdanm | 0:9b334a45a8ff | 7 | * @brief Header file of PWR HAL Extended module. |
bogdanm | 0:9b334a45a8ff | 8 | ****************************************************************************** |
bogdanm | 0:9b334a45a8ff | 9 | * @attention |
bogdanm | 0:9b334a45a8ff | 10 | * |
bogdanm | 0:9b334a45a8ff | 11 | * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> |
bogdanm | 0:9b334a45a8ff | 12 | * |
bogdanm | 0:9b334a45a8ff | 13 | * Redistribution and use in source and binary forms, with or without modification, |
bogdanm | 0:9b334a45a8ff | 14 | * are permitted provided that the following conditions are met: |
bogdanm | 0:9b334a45a8ff | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
bogdanm | 0:9b334a45a8ff | 16 | * this list of conditions and the following disclaimer. |
bogdanm | 0:9b334a45a8ff | 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
bogdanm | 0:9b334a45a8ff | 18 | * this list of conditions and the following disclaimer in the documentation |
bogdanm | 0:9b334a45a8ff | 19 | * and/or other materials provided with the distribution. |
bogdanm | 0:9b334a45a8ff | 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
bogdanm | 0:9b334a45a8ff | 21 | * may be used to endorse or promote products derived from this software |
bogdanm | 0:9b334a45a8ff | 22 | * without specific prior written permission. |
bogdanm | 0:9b334a45a8ff | 23 | * |
bogdanm | 0:9b334a45a8ff | 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
bogdanm | 0:9b334a45a8ff | 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
bogdanm | 0:9b334a45a8ff | 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
bogdanm | 0:9b334a45a8ff | 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
bogdanm | 0:9b334a45a8ff | 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
bogdanm | 0:9b334a45a8ff | 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
bogdanm | 0:9b334a45a8ff | 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
bogdanm | 0:9b334a45a8ff | 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
bogdanm | 0:9b334a45a8ff | 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
bogdanm | 0:9b334a45a8ff | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
bogdanm | 0:9b334a45a8ff | 34 | * |
bogdanm | 0:9b334a45a8ff | 35 | ****************************************************************************** |
bogdanm | 0:9b334a45a8ff | 36 | */ |
bogdanm | 0:9b334a45a8ff | 37 | |
bogdanm | 0:9b334a45a8ff | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 39 | #ifndef __STM32L4xx_HAL_PWR_EX_H |
bogdanm | 0:9b334a45a8ff | 40 | #define __STM32L4xx_HAL_PWR_EX_H |
bogdanm | 0:9b334a45a8ff | 41 | |
bogdanm | 0:9b334a45a8ff | 42 | #ifdef __cplusplus |
bogdanm | 0:9b334a45a8ff | 43 | extern "C" { |
bogdanm | 0:9b334a45a8ff | 44 | #endif |
bogdanm | 0:9b334a45a8ff | 45 | |
bogdanm | 0:9b334a45a8ff | 46 | /* Includes ------------------------------------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 47 | #include "stm32l4xx_hal_def.h" |
bogdanm | 0:9b334a45a8ff | 48 | |
bogdanm | 0:9b334a45a8ff | 49 | /** @addtogroup STM32L4xx_HAL_Driver |
bogdanm | 0:9b334a45a8ff | 50 | * @{ |
bogdanm | 0:9b334a45a8ff | 51 | */ |
bogdanm | 0:9b334a45a8ff | 52 | |
bogdanm | 0:9b334a45a8ff | 53 | /** @addtogroup PWREx |
bogdanm | 0:9b334a45a8ff | 54 | * @{ |
bogdanm | 0:9b334a45a8ff | 55 | */ |
bogdanm | 0:9b334a45a8ff | 56 | |
bogdanm | 0:9b334a45a8ff | 57 | |
bogdanm | 0:9b334a45a8ff | 58 | /* Exported types ------------------------------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 59 | |
bogdanm | 0:9b334a45a8ff | 60 | /** @defgroup PWREx_Exported_Types PWR Extended Exported Types |
bogdanm | 0:9b334a45a8ff | 61 | * @{ |
bogdanm | 0:9b334a45a8ff | 62 | */ |
bogdanm | 0:9b334a45a8ff | 63 | |
bogdanm | 0:9b334a45a8ff | 64 | /** |
bogdanm | 0:9b334a45a8ff | 65 | * @brief PWR PVM configuration structure definition |
bogdanm | 0:9b334a45a8ff | 66 | */ |
bogdanm | 0:9b334a45a8ff | 67 | typedef struct |
bogdanm | 0:9b334a45a8ff | 68 | { |
bogdanm | 0:9b334a45a8ff | 69 | uint32_t PVMType; /*!< PVMType: Specifies which voltage is monitored and against which threshold. |
bogdanm | 0:9b334a45a8ff | 70 | This parameter can be a value of @ref PWREx_PVM_Type. |
bogdanm | 0:9b334a45a8ff | 71 | @arg PWR_PVM_1: Peripheral Voltage Monitoring 1 enable: VDDUSB versus 1.2 V (applicable when USB feature is supported). |
bogdanm | 0:9b334a45a8ff | 72 | @arg PWR_PVM_2: Peripheral Voltage Monitoring 2 enable: VDDIO2 versus 0.9 V (applicable when VDDIO2 is present on device). |
bogdanm | 0:9b334a45a8ff | 73 | @arg PWR_PVM_3: Peripheral Voltage Monitoring 3 enable: VDDA versus 1.62 V. |
bogdanm | 0:9b334a45a8ff | 74 | @arg PWR_PVM_4: Peripheral Voltage Monitoring 4 enable: VDDA versus 2.2 V. */ |
bogdanm | 0:9b334a45a8ff | 75 | |
bogdanm | 0:9b334a45a8ff | 76 | uint32_t Mode; /*!< Mode: Specifies the operating mode for the selected pins. |
bogdanm | 0:9b334a45a8ff | 77 | This parameter can be a value of @ref PWREx_PVM_Mode. */ |
bogdanm | 0:9b334a45a8ff | 78 | }PWR_PVMTypeDef; |
bogdanm | 0:9b334a45a8ff | 79 | |
bogdanm | 0:9b334a45a8ff | 80 | /** |
bogdanm | 0:9b334a45a8ff | 81 | * @} |
bogdanm | 0:9b334a45a8ff | 82 | */ |
bogdanm | 0:9b334a45a8ff | 83 | |
bogdanm | 0:9b334a45a8ff | 84 | /* Exported constants --------------------------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 85 | |
bogdanm | 0:9b334a45a8ff | 86 | /** @defgroup PWREx_Exported_Constants PWR Extended Exported Constants |
bogdanm | 0:9b334a45a8ff | 87 | * @{ |
bogdanm | 0:9b334a45a8ff | 88 | */ |
bogdanm | 0:9b334a45a8ff | 89 | |
bogdanm | 0:9b334a45a8ff | 90 | /** @defgroup PWREx_WUP_Polarity Shift to apply to retrieve polarity information from PWR_WAKEUP_PINy_xxx constants |
bogdanm | 0:9b334a45a8ff | 91 | * @{ |
bogdanm | 0:9b334a45a8ff | 92 | */ |
bogdanm | 0:9b334a45a8ff | 93 | #define PWR_WUP_POLARITY_SHIFT 0x05 /*!< Internal constant used to retrieve wakeup pin polariry */ |
bogdanm | 0:9b334a45a8ff | 94 | /** |
bogdanm | 0:9b334a45a8ff | 95 | * @} |
bogdanm | 0:9b334a45a8ff | 96 | */ |
bogdanm | 0:9b334a45a8ff | 97 | |
bogdanm | 0:9b334a45a8ff | 98 | |
bogdanm | 0:9b334a45a8ff | 99 | /** @defgroup PWREx_WakeUp_Pins PWR wake-up pins |
bogdanm | 0:9b334a45a8ff | 100 | * @{ |
bogdanm | 0:9b334a45a8ff | 101 | */ |
bogdanm | 0:9b334a45a8ff | 102 | #define PWR_WAKEUP_PIN1 PWR_CR3_EWUP1 /*!< Wakeup pin 1 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 103 | #define PWR_WAKEUP_PIN2 PWR_CR3_EWUP2 /*!< Wakeup pin 2 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 104 | #define PWR_WAKEUP_PIN3 PWR_CR3_EWUP3 /*!< Wakeup pin 3 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 105 | #define PWR_WAKEUP_PIN4 PWR_CR3_EWUP4 /*!< Wakeup pin 4 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 106 | #define PWR_WAKEUP_PIN5 PWR_CR3_EWUP5 /*!< Wakeup pin 5 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 107 | #define PWR_WAKEUP_PIN1_HIGH PWR_CR3_EWUP1 /*!< Wakeup pin 1 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 108 | #define PWR_WAKEUP_PIN2_HIGH PWR_CR3_EWUP2 /*!< Wakeup pin 2 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 109 | #define PWR_WAKEUP_PIN3_HIGH PWR_CR3_EWUP3 /*!< Wakeup pin 3 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 110 | #define PWR_WAKEUP_PIN4_HIGH PWR_CR3_EWUP4 /*!< Wakeup pin 4 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 111 | #define PWR_WAKEUP_PIN5_HIGH PWR_CR3_EWUP5 /*!< Wakeup pin 5 (with high level polarity) */ |
bogdanm | 0:9b334a45a8ff | 112 | #define PWR_WAKEUP_PIN1_LOW (uint32_t)((PWR_CR4_WP1<<PWR_WUP_POLARITY_SHIFT) | PWR_CR3_EWUP1) /*!< Wakeup pin 1 (with low level polarity) */ |
bogdanm | 0:9b334a45a8ff | 113 | #define PWR_WAKEUP_PIN2_LOW (uint32_t)((PWR_CR4_WP2<<PWR_WUP_POLARITY_SHIFT) | PWR_CR3_EWUP2) /*!< Wakeup pin 2 (with low level polarity) */ |
bogdanm | 0:9b334a45a8ff | 114 | #define PWR_WAKEUP_PIN3_LOW (uint32_t)((PWR_CR4_WP3<<PWR_WUP_POLARITY_SHIFT) | PWR_CR3_EWUP3) /*!< Wakeup pin 3 (with low level polarity) */ |
bogdanm | 0:9b334a45a8ff | 115 | #define PWR_WAKEUP_PIN4_LOW (uint32_t)((PWR_CR4_WP4<<PWR_WUP_POLARITY_SHIFT) | PWR_CR3_EWUP4) /*!< Wakeup pin 4 (with low level polarity) */ |
bogdanm | 0:9b334a45a8ff | 116 | #define PWR_WAKEUP_PIN5_LOW (uint32_t)((PWR_CR4_WP5<<PWR_WUP_POLARITY_SHIFT) | PWR_CR3_EWUP5) /*!< Wakeup pin 5 (with low level polarity) */ |
bogdanm | 0:9b334a45a8ff | 117 | /** |
bogdanm | 0:9b334a45a8ff | 118 | * @} |
bogdanm | 0:9b334a45a8ff | 119 | */ |
bogdanm | 0:9b334a45a8ff | 120 | |
bogdanm | 0:9b334a45a8ff | 121 | /** @defgroup PWREx_PVM_Type Peripheral Voltage Monitoring type |
bogdanm | 0:9b334a45a8ff | 122 | * @{ |
bogdanm | 0:9b334a45a8ff | 123 | */ |
bogdanm | 0:9b334a45a8ff | 124 | #if defined(STM32L475xx) || defined(STM32L476xx) || defined (STM32L485xx) || defined(STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 125 | #define PWR_PVM_1 PWR_CR2_PVME1 /*!< Peripheral Voltage Monitoring 1 enable: VDDUSB versus 1.2 V (applicable when USB feature is supported) */ |
bogdanm | 0:9b334a45a8ff | 126 | #endif /* STM32L475xx || STM32L476xx || STM32L485xx || STM32L486xx */ |
bogdanm | 0:9b334a45a8ff | 127 | #define PWR_PVM_2 PWR_CR2_PVME2 /*!< Peripheral Voltage Monitoring 2 enable: VDDIO2 versus 0.9 V (applicable when VDDIO2 is present on device) */ |
bogdanm | 0:9b334a45a8ff | 128 | #define PWR_PVM_3 PWR_CR2_PVME3 /*!< Peripheral Voltage Monitoring 3 enable: VDDA versus 1.62 V */ |
bogdanm | 0:9b334a45a8ff | 129 | #define PWR_PVM_4 PWR_CR2_PVME4 /*!< Peripheral Voltage Monitoring 4 enable: VDDA versus 2.2 V */ |
bogdanm | 0:9b334a45a8ff | 130 | /** |
bogdanm | 0:9b334a45a8ff | 131 | * @} |
bogdanm | 0:9b334a45a8ff | 132 | */ |
bogdanm | 0:9b334a45a8ff | 133 | |
bogdanm | 0:9b334a45a8ff | 134 | /** @defgroup PWREx_PVM_Mode PWR PVM interrupt and event mode |
bogdanm | 0:9b334a45a8ff | 135 | * @{ |
bogdanm | 0:9b334a45a8ff | 136 | */ |
bogdanm | 0:9b334a45a8ff | 137 | #define PWR_PVM_MODE_NORMAL ((uint32_t)0x00000000) /*!< basic mode is used */ |
bogdanm | 0:9b334a45a8ff | 138 | #define PWR_PVM_MODE_IT_RISING ((uint32_t)0x00010001) /*!< External Interrupt Mode with Rising edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 139 | #define PWR_PVM_MODE_IT_FALLING ((uint32_t)0x00010002) /*!< External Interrupt Mode with Falling edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 140 | #define PWR_PVM_MODE_IT_RISING_FALLING ((uint32_t)0x00010003) /*!< External Interrupt Mode with Rising/Falling edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 141 | #define PWR_PVM_MODE_EVENT_RISING ((uint32_t)0x00020001) /*!< Event Mode with Rising edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 142 | #define PWR_PVM_MODE_EVENT_FALLING ((uint32_t)0x00020002) /*!< Event Mode with Falling edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 143 | #define PWR_PVM_MODE_EVENT_RISING_FALLING ((uint32_t)0x00020003) /*!< Event Mode with Rising/Falling edge trigger detection */ |
bogdanm | 0:9b334a45a8ff | 144 | /** |
bogdanm | 0:9b334a45a8ff | 145 | * @} |
bogdanm | 0:9b334a45a8ff | 146 | */ |
bogdanm | 0:9b334a45a8ff | 147 | |
bogdanm | 0:9b334a45a8ff | 148 | |
bogdanm | 0:9b334a45a8ff | 149 | |
bogdanm | 0:9b334a45a8ff | 150 | /** @defgroup PWREx_Regulator_Voltage_Scale PWR Regulator voltage scale |
bogdanm | 0:9b334a45a8ff | 151 | * @{ |
bogdanm | 0:9b334a45a8ff | 152 | */ |
bogdanm | 0:9b334a45a8ff | 153 | #define PWR_REGULATOR_VOLTAGE_SCALE1 PWR_CR1_VOS_0 /*!< Voltage scaling range 1 */ |
bogdanm | 0:9b334a45a8ff | 154 | #define PWR_REGULATOR_VOLTAGE_SCALE2 PWR_CR1_VOS_1 /*!< Voltage scaling range 2 */ |
bogdanm | 0:9b334a45a8ff | 155 | /** |
bogdanm | 0:9b334a45a8ff | 156 | * @} |
bogdanm | 0:9b334a45a8ff | 157 | */ |
bogdanm | 0:9b334a45a8ff | 158 | |
bogdanm | 0:9b334a45a8ff | 159 | |
bogdanm | 0:9b334a45a8ff | 160 | /** @defgroup PWREx_VBAT_Battery_Charging_Selection PWR battery charging resistor selection |
bogdanm | 0:9b334a45a8ff | 161 | * @{ |
bogdanm | 0:9b334a45a8ff | 162 | */ |
bogdanm | 0:9b334a45a8ff | 163 | #define PWR_BATTERY_CHARGING_RESISTOR_5 ((uint32_t)0x00000000) /*!< VBAT charging through a 5 kOhms resistor */ |
bogdanm | 0:9b334a45a8ff | 164 | #define PWR_BATTERY_CHARGING_RESISTOR_1_5 PWR_CR4_VBRS /*!< VBAT charging through a 1.5 kOhms resistor */ |
bogdanm | 0:9b334a45a8ff | 165 | /** |
bogdanm | 0:9b334a45a8ff | 166 | * @} |
bogdanm | 0:9b334a45a8ff | 167 | */ |
bogdanm | 0:9b334a45a8ff | 168 | |
bogdanm | 0:9b334a45a8ff | 169 | /** @defgroup PWREx_VBAT_Battery_Charging PWR battery charging |
bogdanm | 0:9b334a45a8ff | 170 | * @{ |
bogdanm | 0:9b334a45a8ff | 171 | */ |
bogdanm | 0:9b334a45a8ff | 172 | #define PWR_BATTERY_CHARGING_DISABLE ((uint32_t)0x00000000) |
bogdanm | 0:9b334a45a8ff | 173 | #define PWR_BATTERY_CHARGING_ENABLE PWR_CR4_VBE |
bogdanm | 0:9b334a45a8ff | 174 | /** |
bogdanm | 0:9b334a45a8ff | 175 | * @} |
bogdanm | 0:9b334a45a8ff | 176 | */ |
bogdanm | 0:9b334a45a8ff | 177 | |
bogdanm | 0:9b334a45a8ff | 178 | /** @defgroup PWREx_GPIO_Bit_Number GPIO bit number for I/O setting in standby/shutdown mode |
bogdanm | 0:9b334a45a8ff | 179 | * @{ |
bogdanm | 0:9b334a45a8ff | 180 | */ |
bogdanm | 0:9b334a45a8ff | 181 | #define PWR_GPIO_BIT_0 PWR_PUCRB_PB0 /*!< GPIO port I/O pin 0 */ |
bogdanm | 0:9b334a45a8ff | 182 | #define PWR_GPIO_BIT_1 PWR_PUCRB_PB1 /*!< GPIO port I/O pin 1 */ |
bogdanm | 0:9b334a45a8ff | 183 | #define PWR_GPIO_BIT_2 PWR_PUCRB_PB2 /*!< GPIO port I/O pin 2 */ |
bogdanm | 0:9b334a45a8ff | 184 | #define PWR_GPIO_BIT_3 PWR_PUCRB_PB3 /*!< GPIO port I/O pin 3 */ |
bogdanm | 0:9b334a45a8ff | 185 | #define PWR_GPIO_BIT_4 PWR_PUCRB_PB4 /*!< GPIO port I/O pin 4 */ |
bogdanm | 0:9b334a45a8ff | 186 | #define PWR_GPIO_BIT_5 PWR_PUCRB_PB5 /*!< GPIO port I/O pin 5 */ |
bogdanm | 0:9b334a45a8ff | 187 | #define PWR_GPIO_BIT_6 PWR_PUCRB_PB6 /*!< GPIO port I/O pin 6 */ |
bogdanm | 0:9b334a45a8ff | 188 | #define PWR_GPIO_BIT_7 PWR_PUCRB_PB7 /*!< GPIO port I/O pin 7 */ |
bogdanm | 0:9b334a45a8ff | 189 | #define PWR_GPIO_BIT_8 PWR_PUCRB_PB8 /*!< GPIO port I/O pin 8 */ |
bogdanm | 0:9b334a45a8ff | 190 | #define PWR_GPIO_BIT_9 PWR_PUCRB_PB9 /*!< GPIO port I/O pin 9 */ |
bogdanm | 0:9b334a45a8ff | 191 | #define PWR_GPIO_BIT_10 PWR_PUCRB_PB10 /*!< GPIO port I/O pin 10 */ |
bogdanm | 0:9b334a45a8ff | 192 | #define PWR_GPIO_BIT_11 PWR_PUCRB_PB11 /*!< GPIO port I/O pin 11 */ |
bogdanm | 0:9b334a45a8ff | 193 | #define PWR_GPIO_BIT_12 PWR_PUCRB_PB12 /*!< GPIO port I/O pin 12 */ |
bogdanm | 0:9b334a45a8ff | 194 | #define PWR_GPIO_BIT_13 PWR_PUCRB_PB13 /*!< GPIO port I/O pin 13 */ |
bogdanm | 0:9b334a45a8ff | 195 | #define PWR_GPIO_BIT_14 PWR_PUCRB_PB14 /*!< GPIO port I/O pin 14 */ |
bogdanm | 0:9b334a45a8ff | 196 | #define PWR_GPIO_BIT_15 PWR_PUCRB_PB15 /*!< GPIO port I/O pin15 */ |
bogdanm | 0:9b334a45a8ff | 197 | /** |
bogdanm | 0:9b334a45a8ff | 198 | * @} |
bogdanm | 0:9b334a45a8ff | 199 | */ |
bogdanm | 0:9b334a45a8ff | 200 | |
bogdanm | 0:9b334a45a8ff | 201 | /** @defgroup PWREx_GPIO GPIO port |
bogdanm | 0:9b334a45a8ff | 202 | * @{ |
bogdanm | 0:9b334a45a8ff | 203 | */ |
bogdanm | 0:9b334a45a8ff | 204 | #define PWR_GPIO_A 0x00000000 /*!< GPIO port A */ |
bogdanm | 0:9b334a45a8ff | 205 | #define PWR_GPIO_B 0x00000001 /*!< GPIO port B */ |
bogdanm | 0:9b334a45a8ff | 206 | #define PWR_GPIO_C 0x00000002 /*!< GPIO port C */ |
bogdanm | 0:9b334a45a8ff | 207 | #define PWR_GPIO_D 0x00000003 /*!< GPIO port D */ |
bogdanm | 0:9b334a45a8ff | 208 | #define PWR_GPIO_E 0x00000004 /*!< GPIO port E */ |
bogdanm | 0:9b334a45a8ff | 209 | #define PWR_GPIO_F 0x00000005 /*!< GPIO port F */ |
bogdanm | 0:9b334a45a8ff | 210 | #define PWR_GPIO_G 0x00000006 /*!< GPIO port G */ |
bogdanm | 0:9b334a45a8ff | 211 | #define PWR_GPIO_H 0x00000007 /*!< GPIO port H */ |
bogdanm | 0:9b334a45a8ff | 212 | /** |
bogdanm | 0:9b334a45a8ff | 213 | * @} |
bogdanm | 0:9b334a45a8ff | 214 | */ |
bogdanm | 0:9b334a45a8ff | 215 | |
bogdanm | 0:9b334a45a8ff | 216 | /** @defgroup PWREx_PVM_EXTI_LINE PWR PVM external interrupts lines |
bogdanm | 0:9b334a45a8ff | 217 | * @{ |
bogdanm | 0:9b334a45a8ff | 218 | */ |
bogdanm | 0:9b334a45a8ff | 219 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 220 | #define PWR_EXTI_LINE_PVM1 ((uint32_t)0x00000008) /*!< External interrupt line 35 Connected to the PVM1 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 221 | #endif /* STM32L475xx || STM32L476xx || STM32L485xx || STM32L486xx */ |
bogdanm | 0:9b334a45a8ff | 222 | |
bogdanm | 0:9b334a45a8ff | 223 | #define PWR_EXTI_LINE_PVM2 ((uint32_t)0x00000010) /*!< External interrupt line 36 Connected to the PVM2 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 224 | #define PWR_EXTI_LINE_PVM3 ((uint32_t)0x00000020) /*!< External interrupt line 37 Connected to the PVM3 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 225 | #define PWR_EXTI_LINE_PVM4 ((uint32_t)0x00000040) /*!< External interrupt line 38 Connected to the PVM4 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 226 | /** |
bogdanm | 0:9b334a45a8ff | 227 | * @} |
bogdanm | 0:9b334a45a8ff | 228 | */ |
bogdanm | 0:9b334a45a8ff | 229 | |
bogdanm | 0:9b334a45a8ff | 230 | /** @defgroup PWREx_PVM_EVENT_LINE PWR PVM event lines |
bogdanm | 0:9b334a45a8ff | 231 | * @{ |
bogdanm | 0:9b334a45a8ff | 232 | */ |
bogdanm | 0:9b334a45a8ff | 233 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 234 | #define PWR_EVENT_LINE_PVM1 ((uint32_t)0x00000008) /*!< Event line 35 Connected to the PVM1 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 235 | #endif /* STM32L475xx || STM32L476xx || STM32L485xx || STM32L486xx */ |
bogdanm | 0:9b334a45a8ff | 236 | #define PWR_EVENT_LINE_PVM2 ((uint32_t)0x00000010) /*!< Event line 36 Connected to the PVM2 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 237 | #define PWR_EVENT_LINE_PVM3 ((uint32_t)0x00000020) /*!< Event line 37 Connected to the PVM3 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 238 | #define PWR_EVENT_LINE_PVM4 ((uint32_t)0x00000040) /*!< Event line 38 Connected to the PVM4 EXTI Line */ |
bogdanm | 0:9b334a45a8ff | 239 | /** |
bogdanm | 0:9b334a45a8ff | 240 | * @} |
bogdanm | 0:9b334a45a8ff | 241 | */ |
bogdanm | 0:9b334a45a8ff | 242 | |
bogdanm | 0:9b334a45a8ff | 243 | /** @defgroup PWREx_Flag PWR Status Flags |
bogdanm | 0:9b334a45a8ff | 244 | * Elements values convention: 0000 0000 0XXY YYYYb |
bogdanm | 0:9b334a45a8ff | 245 | * - Y YYYY : Flag position in the XX register (5 bits) |
bogdanm | 0:9b334a45a8ff | 246 | * - XX : Status register (2 bits) |
bogdanm | 0:9b334a45a8ff | 247 | * - 01: SR1 register |
bogdanm | 0:9b334a45a8ff | 248 | * - 10: SR2 register |
bogdanm | 0:9b334a45a8ff | 249 | * The only exception is PWR_FLAG_WU, encompassing all |
bogdanm | 0:9b334a45a8ff | 250 | * wake-up flags and set to PWR_SR1_WUF. |
bogdanm | 0:9b334a45a8ff | 251 | * @{ |
bogdanm | 0:9b334a45a8ff | 252 | */ |
bogdanm | 0:9b334a45a8ff | 253 | #define PWR_FLAG_WUF1 ((uint32_t)0x0020) /*!< Wakeup event on wakeup pin 1 */ |
bogdanm | 0:9b334a45a8ff | 254 | #define PWR_FLAG_WUF2 ((uint32_t)0x0021) /*!< Wakeup event on wakeup pin 2 */ |
bogdanm | 0:9b334a45a8ff | 255 | #define PWR_FLAG_WUF3 ((uint32_t)0x0022) /*!< Wakeup event on wakeup pin 3 */ |
bogdanm | 0:9b334a45a8ff | 256 | #define PWR_FLAG_WUF4 ((uint32_t)0x0023) /*!< Wakeup event on wakeup pin 4 */ |
bogdanm | 0:9b334a45a8ff | 257 | #define PWR_FLAG_WUF5 ((uint32_t)0x0024) /*!< Wakeup event on wakeup pin 5 */ |
bogdanm | 0:9b334a45a8ff | 258 | #define PWR_FLAG_WU PWR_SR1_WUF /*!< Encompass wakeup event on all wakeup pins */ |
bogdanm | 0:9b334a45a8ff | 259 | #define PWR_FLAG_SB ((uint32_t)0x0028) /*!< Standby flag */ |
bogdanm | 0:9b334a45a8ff | 260 | #define PWR_FLAG_WUFI ((uint32_t)0x002F) /*!< Wakeup on internal wakeup line */ |
bogdanm | 0:9b334a45a8ff | 261 | |
bogdanm | 0:9b334a45a8ff | 262 | #define PWR_FLAG_REGLPS ((uint32_t)0x0048) /*!< Low-power regulator start flag */ |
bogdanm | 0:9b334a45a8ff | 263 | #define PWR_FLAG_REGLPF ((uint32_t)0x0049) /*!< Low-power regulator flag */ |
bogdanm | 0:9b334a45a8ff | 264 | #define PWR_FLAG_VOSF ((uint32_t)0x004A) /*!< Voltage scaling flag */ |
bogdanm | 0:9b334a45a8ff | 265 | #define PWR_FLAG_PVDO ((uint32_t)0x004B) /*!< Power Voltage Detector output flag */ |
bogdanm | 0:9b334a45a8ff | 266 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 267 | #define PWR_FLAG_PVMO1 ((uint32_t)0x004C) /*!< Power Voltage Monitoring 1 output flag */ |
bogdanm | 0:9b334a45a8ff | 268 | #endif /* STM32L475xx || STM32L476xx || STM32L485xx || STM32L486xx */ |
bogdanm | 0:9b334a45a8ff | 269 | #define PWR_FLAG_PVMO2 ((uint32_t)0x004D) /*!< Power Voltage Monitoring 2 output flag */ |
bogdanm | 0:9b334a45a8ff | 270 | #define PWR_FLAG_PVMO3 ((uint32_t)0x004E) /*!< Power Voltage Monitoring 3 output flag */ |
bogdanm | 0:9b334a45a8ff | 271 | #define PWR_FLAG_PVMO4 ((uint32_t)0x004F) /*!< Power Voltage Monitoring 4 output flag */ |
bogdanm | 0:9b334a45a8ff | 272 | /** |
bogdanm | 0:9b334a45a8ff | 273 | * @} |
bogdanm | 0:9b334a45a8ff | 274 | */ |
bogdanm | 0:9b334a45a8ff | 275 | |
bogdanm | 0:9b334a45a8ff | 276 | /** |
bogdanm | 0:9b334a45a8ff | 277 | * @} |
bogdanm | 0:9b334a45a8ff | 278 | */ |
bogdanm | 0:9b334a45a8ff | 279 | |
bogdanm | 0:9b334a45a8ff | 280 | /* Exported macros -----------------------------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 281 | /** @defgroup PWREx_Exported_Macros PWR Extended Exported Macros |
bogdanm | 0:9b334a45a8ff | 282 | * @{ |
bogdanm | 0:9b334a45a8ff | 283 | */ |
bogdanm | 0:9b334a45a8ff | 284 | |
bogdanm | 0:9b334a45a8ff | 285 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 286 | /** |
bogdanm | 0:9b334a45a8ff | 287 | * @brief Enable the PVM1 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 288 | * @retval None |
bogdanm | 0:9b334a45a8ff | 289 | */ |
bogdanm | 0:9b334a45a8ff | 290 | #define __HAL_PWR_PVM1_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 291 | |
bogdanm | 0:9b334a45a8ff | 292 | /** |
bogdanm | 0:9b334a45a8ff | 293 | * @brief Disable the PVM1 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 294 | * @retval None |
bogdanm | 0:9b334a45a8ff | 295 | */ |
bogdanm | 0:9b334a45a8ff | 296 | #define __HAL_PWR_PVM1_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 297 | |
bogdanm | 0:9b334a45a8ff | 298 | /** |
bogdanm | 0:9b334a45a8ff | 299 | * @brief Enable the PVM1 Event Line. |
bogdanm | 0:9b334a45a8ff | 300 | * @retval None |
bogdanm | 0:9b334a45a8ff | 301 | */ |
bogdanm | 0:9b334a45a8ff | 302 | #define __HAL_PWR_PVM1_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 303 | |
bogdanm | 0:9b334a45a8ff | 304 | /** |
bogdanm | 0:9b334a45a8ff | 305 | * @brief Disable the PVM1 Event Line. |
bogdanm | 0:9b334a45a8ff | 306 | * @retval None |
bogdanm | 0:9b334a45a8ff | 307 | */ |
bogdanm | 0:9b334a45a8ff | 308 | #define __HAL_PWR_PVM1_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 309 | |
bogdanm | 0:9b334a45a8ff | 310 | /** |
bogdanm | 0:9b334a45a8ff | 311 | * @brief Enable the PVM1 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 312 | * @retval None |
bogdanm | 0:9b334a45a8ff | 313 | */ |
bogdanm | 0:9b334a45a8ff | 314 | #define __HAL_PWR_PVM1_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 315 | |
bogdanm | 0:9b334a45a8ff | 316 | /** |
bogdanm | 0:9b334a45a8ff | 317 | * @brief Disable the PVM1 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 318 | * @retval None |
bogdanm | 0:9b334a45a8ff | 319 | */ |
bogdanm | 0:9b334a45a8ff | 320 | #define __HAL_PWR_PVM1_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 321 | |
bogdanm | 0:9b334a45a8ff | 322 | /** |
bogdanm | 0:9b334a45a8ff | 323 | * @brief Enable the PVM1 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 324 | * @retval None |
bogdanm | 0:9b334a45a8ff | 325 | */ |
bogdanm | 0:9b334a45a8ff | 326 | #define __HAL_PWR_PVM1_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 327 | |
bogdanm | 0:9b334a45a8ff | 328 | |
bogdanm | 0:9b334a45a8ff | 329 | /** |
bogdanm | 0:9b334a45a8ff | 330 | * @brief Disable the PVM1 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 331 | * @retval None |
bogdanm | 0:9b334a45a8ff | 332 | */ |
bogdanm | 0:9b334a45a8ff | 333 | #define __HAL_PWR_PVM1_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 334 | |
bogdanm | 0:9b334a45a8ff | 335 | |
bogdanm | 0:9b334a45a8ff | 336 | /** |
bogdanm | 0:9b334a45a8ff | 337 | * @brief PVM1 EXTI line configuration: set rising & falling edge trigger. |
bogdanm | 0:9b334a45a8ff | 338 | * @retval None |
bogdanm | 0:9b334a45a8ff | 339 | */ |
bogdanm | 0:9b334a45a8ff | 340 | #define __HAL_PWR_PVM1_EXTI_ENABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 341 | do { \ |
bogdanm | 0:9b334a45a8ff | 342 | __HAL_PWR_PVM1_EXTI_ENABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 343 | __HAL_PWR_PVM1_EXTI_ENABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 344 | } while(0) |
bogdanm | 0:9b334a45a8ff | 345 | |
bogdanm | 0:9b334a45a8ff | 346 | /** |
bogdanm | 0:9b334a45a8ff | 347 | * @brief Disable the PVM1 Extended Interrupt Rising & Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 348 | * @retval None |
bogdanm | 0:9b334a45a8ff | 349 | */ |
bogdanm | 0:9b334a45a8ff | 350 | #define __HAL_PWR_PVM1_EXTI_DISABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 351 | do { \ |
bogdanm | 0:9b334a45a8ff | 352 | __HAL_PWR_PVM1_EXTI_DISABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 353 | __HAL_PWR_PVM1_EXTI_DISABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 354 | } while(0) |
bogdanm | 0:9b334a45a8ff | 355 | |
bogdanm | 0:9b334a45a8ff | 356 | /** |
bogdanm | 0:9b334a45a8ff | 357 | * @brief Generate a Software interrupt on selected EXTI line. |
bogdanm | 0:9b334a45a8ff | 358 | * @retval None |
bogdanm | 0:9b334a45a8ff | 359 | */ |
bogdanm | 0:9b334a45a8ff | 360 | #define __HAL_PWR_PVM1_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 361 | |
bogdanm | 0:9b334a45a8ff | 362 | /** |
bogdanm | 0:9b334a45a8ff | 363 | * @brief Check whether the specified PVM1 EXTI interrupt flag is set or not. |
bogdanm | 0:9b334a45a8ff | 364 | * @retval EXTI PVM1 Line Status. |
bogdanm | 0:9b334a45a8ff | 365 | */ |
bogdanm | 0:9b334a45a8ff | 366 | #define __HAL_PWR_PVM1_EXTI_GET_FLAG() (EXTI->PR2 & PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 367 | |
bogdanm | 0:9b334a45a8ff | 368 | /** |
bogdanm | 0:9b334a45a8ff | 369 | * @brief Clear the PVM1 EXTI flag. |
bogdanm | 0:9b334a45a8ff | 370 | * @retval None |
bogdanm | 0:9b334a45a8ff | 371 | */ |
bogdanm | 0:9b334a45a8ff | 372 | #define __HAL_PWR_PVM1_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, PWR_EXTI_LINE_PVM1) |
bogdanm | 0:9b334a45a8ff | 373 | |
bogdanm | 0:9b334a45a8ff | 374 | #endif /* defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) */ |
bogdanm | 0:9b334a45a8ff | 375 | |
bogdanm | 0:9b334a45a8ff | 376 | |
bogdanm | 0:9b334a45a8ff | 377 | /** |
bogdanm | 0:9b334a45a8ff | 378 | * @brief Enable the PVM2 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 379 | * @retval None |
bogdanm | 0:9b334a45a8ff | 380 | */ |
bogdanm | 0:9b334a45a8ff | 381 | #define __HAL_PWR_PVM2_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 382 | |
bogdanm | 0:9b334a45a8ff | 383 | /** |
bogdanm | 0:9b334a45a8ff | 384 | * @brief Disable the PVM2 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 385 | * @retval None |
bogdanm | 0:9b334a45a8ff | 386 | */ |
bogdanm | 0:9b334a45a8ff | 387 | #define __HAL_PWR_PVM2_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 388 | |
bogdanm | 0:9b334a45a8ff | 389 | /** |
bogdanm | 0:9b334a45a8ff | 390 | * @brief Enable the PVM2 Event Line. |
bogdanm | 0:9b334a45a8ff | 391 | * @retval None |
bogdanm | 0:9b334a45a8ff | 392 | */ |
bogdanm | 0:9b334a45a8ff | 393 | #define __HAL_PWR_PVM2_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 394 | |
bogdanm | 0:9b334a45a8ff | 395 | /** |
bogdanm | 0:9b334a45a8ff | 396 | * @brief Disable the PVM2 Event Line. |
bogdanm | 0:9b334a45a8ff | 397 | * @retval None |
bogdanm | 0:9b334a45a8ff | 398 | */ |
bogdanm | 0:9b334a45a8ff | 399 | #define __HAL_PWR_PVM2_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 400 | |
bogdanm | 0:9b334a45a8ff | 401 | /** |
bogdanm | 0:9b334a45a8ff | 402 | * @brief Enable the PVM2 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 403 | * @retval None |
bogdanm | 0:9b334a45a8ff | 404 | */ |
bogdanm | 0:9b334a45a8ff | 405 | #define __HAL_PWR_PVM2_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 406 | |
bogdanm | 0:9b334a45a8ff | 407 | /** |
bogdanm | 0:9b334a45a8ff | 408 | * @brief Disable the PVM2 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 409 | * @retval None |
bogdanm | 0:9b334a45a8ff | 410 | */ |
bogdanm | 0:9b334a45a8ff | 411 | #define __HAL_PWR_PVM2_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 412 | |
bogdanm | 0:9b334a45a8ff | 413 | /** |
bogdanm | 0:9b334a45a8ff | 414 | * @brief Enable the PVM2 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 415 | * @retval None |
bogdanm | 0:9b334a45a8ff | 416 | */ |
bogdanm | 0:9b334a45a8ff | 417 | #define __HAL_PWR_PVM2_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 418 | |
bogdanm | 0:9b334a45a8ff | 419 | |
bogdanm | 0:9b334a45a8ff | 420 | /** |
bogdanm | 0:9b334a45a8ff | 421 | * @brief Disable the PVM2 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 422 | * @retval None |
bogdanm | 0:9b334a45a8ff | 423 | */ |
bogdanm | 0:9b334a45a8ff | 424 | #define __HAL_PWR_PVM2_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 425 | |
bogdanm | 0:9b334a45a8ff | 426 | |
bogdanm | 0:9b334a45a8ff | 427 | /** |
bogdanm | 0:9b334a45a8ff | 428 | * @brief PVM2 EXTI line configuration: set rising & falling edge trigger. |
bogdanm | 0:9b334a45a8ff | 429 | * @retval None |
bogdanm | 0:9b334a45a8ff | 430 | */ |
bogdanm | 0:9b334a45a8ff | 431 | #define __HAL_PWR_PVM2_EXTI_ENABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 432 | do { \ |
bogdanm | 0:9b334a45a8ff | 433 | __HAL_PWR_PVM2_EXTI_ENABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 434 | __HAL_PWR_PVM2_EXTI_ENABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 435 | } while(0) |
bogdanm | 0:9b334a45a8ff | 436 | |
bogdanm | 0:9b334a45a8ff | 437 | /** |
bogdanm | 0:9b334a45a8ff | 438 | * @brief Disable the PVM2 Extended Interrupt Rising & Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 439 | * @retval None |
bogdanm | 0:9b334a45a8ff | 440 | */ |
bogdanm | 0:9b334a45a8ff | 441 | #define __HAL_PWR_PVM2_EXTI_DISABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 442 | do { \ |
bogdanm | 0:9b334a45a8ff | 443 | __HAL_PWR_PVM2_EXTI_DISABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 444 | __HAL_PWR_PVM2_EXTI_DISABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 445 | } while(0) |
bogdanm | 0:9b334a45a8ff | 446 | |
bogdanm | 0:9b334a45a8ff | 447 | /** |
bogdanm | 0:9b334a45a8ff | 448 | * @brief Generate a Software interrupt on selected EXTI line. |
bogdanm | 0:9b334a45a8ff | 449 | * @retval None |
bogdanm | 0:9b334a45a8ff | 450 | */ |
bogdanm | 0:9b334a45a8ff | 451 | #define __HAL_PWR_PVM2_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 452 | |
bogdanm | 0:9b334a45a8ff | 453 | /** |
bogdanm | 0:9b334a45a8ff | 454 | * @brief Check whether the specified PVM2 EXTI interrupt flag is set or not. |
bogdanm | 0:9b334a45a8ff | 455 | * @retval EXTI PVM2 Line Status. |
bogdanm | 0:9b334a45a8ff | 456 | */ |
bogdanm | 0:9b334a45a8ff | 457 | #define __HAL_PWR_PVM2_EXTI_GET_FLAG() (EXTI->PR2 & PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 458 | |
bogdanm | 0:9b334a45a8ff | 459 | /** |
bogdanm | 0:9b334a45a8ff | 460 | * @brief Clear the PVM2 EXTI flag. |
bogdanm | 0:9b334a45a8ff | 461 | * @retval None |
bogdanm | 0:9b334a45a8ff | 462 | */ |
bogdanm | 0:9b334a45a8ff | 463 | #define __HAL_PWR_PVM2_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, PWR_EXTI_LINE_PVM2) |
bogdanm | 0:9b334a45a8ff | 464 | |
bogdanm | 0:9b334a45a8ff | 465 | |
bogdanm | 0:9b334a45a8ff | 466 | |
bogdanm | 0:9b334a45a8ff | 467 | |
bogdanm | 0:9b334a45a8ff | 468 | /** |
bogdanm | 0:9b334a45a8ff | 469 | * @brief Enable the PVM3 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 470 | * @retval None |
bogdanm | 0:9b334a45a8ff | 471 | */ |
bogdanm | 0:9b334a45a8ff | 472 | #define __HAL_PWR_PVM3_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 473 | |
bogdanm | 0:9b334a45a8ff | 474 | /** |
bogdanm | 0:9b334a45a8ff | 475 | * @brief Disable the PVM3 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 476 | * @retval None |
bogdanm | 0:9b334a45a8ff | 477 | */ |
bogdanm | 0:9b334a45a8ff | 478 | #define __HAL_PWR_PVM3_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 479 | |
bogdanm | 0:9b334a45a8ff | 480 | /** |
bogdanm | 0:9b334a45a8ff | 481 | * @brief Enable the PVM3 Event Line. |
bogdanm | 0:9b334a45a8ff | 482 | * @retval None |
bogdanm | 0:9b334a45a8ff | 483 | */ |
bogdanm | 0:9b334a45a8ff | 484 | #define __HAL_PWR_PVM3_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 485 | |
bogdanm | 0:9b334a45a8ff | 486 | /** |
bogdanm | 0:9b334a45a8ff | 487 | * @brief Disable the PVM3 Event Line. |
bogdanm | 0:9b334a45a8ff | 488 | * @retval None |
bogdanm | 0:9b334a45a8ff | 489 | */ |
bogdanm | 0:9b334a45a8ff | 490 | #define __HAL_PWR_PVM3_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 491 | |
bogdanm | 0:9b334a45a8ff | 492 | /** |
bogdanm | 0:9b334a45a8ff | 493 | * @brief Enable the PVM3 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 494 | * @retval None |
bogdanm | 0:9b334a45a8ff | 495 | */ |
bogdanm | 0:9b334a45a8ff | 496 | #define __HAL_PWR_PVM3_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 497 | |
bogdanm | 0:9b334a45a8ff | 498 | /** |
bogdanm | 0:9b334a45a8ff | 499 | * @brief Disable the PVM3 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 500 | * @retval None |
bogdanm | 0:9b334a45a8ff | 501 | */ |
bogdanm | 0:9b334a45a8ff | 502 | #define __HAL_PWR_PVM3_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 503 | |
bogdanm | 0:9b334a45a8ff | 504 | /** |
bogdanm | 0:9b334a45a8ff | 505 | * @brief Enable the PVM3 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 506 | * @retval None |
bogdanm | 0:9b334a45a8ff | 507 | */ |
bogdanm | 0:9b334a45a8ff | 508 | #define __HAL_PWR_PVM3_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 509 | |
bogdanm | 0:9b334a45a8ff | 510 | |
bogdanm | 0:9b334a45a8ff | 511 | /** |
bogdanm | 0:9b334a45a8ff | 512 | * @brief Disable the PVM3 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 513 | * @retval None |
bogdanm | 0:9b334a45a8ff | 514 | */ |
bogdanm | 0:9b334a45a8ff | 515 | #define __HAL_PWR_PVM3_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 516 | |
bogdanm | 0:9b334a45a8ff | 517 | |
bogdanm | 0:9b334a45a8ff | 518 | /** |
bogdanm | 0:9b334a45a8ff | 519 | * @brief PVM3 EXTI line configuration: set rising & falling edge trigger. |
bogdanm | 0:9b334a45a8ff | 520 | * @retval None |
bogdanm | 0:9b334a45a8ff | 521 | */ |
bogdanm | 0:9b334a45a8ff | 522 | #define __HAL_PWR_PVM3_EXTI_ENABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 523 | do { \ |
bogdanm | 0:9b334a45a8ff | 524 | __HAL_PWR_PVM3_EXTI_ENABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 525 | __HAL_PWR_PVM3_EXTI_ENABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 526 | } while(0) |
bogdanm | 0:9b334a45a8ff | 527 | |
bogdanm | 0:9b334a45a8ff | 528 | /** |
bogdanm | 0:9b334a45a8ff | 529 | * @brief Disable the PVM3 Extended Interrupt Rising & Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 530 | * @retval None |
bogdanm | 0:9b334a45a8ff | 531 | */ |
bogdanm | 0:9b334a45a8ff | 532 | #define __HAL_PWR_PVM3_EXTI_DISABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 533 | do { \ |
bogdanm | 0:9b334a45a8ff | 534 | __HAL_PWR_PVM3_EXTI_DISABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 535 | __HAL_PWR_PVM3_EXTI_DISABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 536 | } while(0) |
bogdanm | 0:9b334a45a8ff | 537 | |
bogdanm | 0:9b334a45a8ff | 538 | /** |
bogdanm | 0:9b334a45a8ff | 539 | * @brief Generate a Software interrupt on selected EXTI line. |
bogdanm | 0:9b334a45a8ff | 540 | * @retval None |
bogdanm | 0:9b334a45a8ff | 541 | */ |
bogdanm | 0:9b334a45a8ff | 542 | #define __HAL_PWR_PVM3_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 543 | |
bogdanm | 0:9b334a45a8ff | 544 | /** |
bogdanm | 0:9b334a45a8ff | 545 | * @brief Check whether the specified PVM3 EXTI interrupt flag is set or not. |
bogdanm | 0:9b334a45a8ff | 546 | * @retval EXTI PVM3 Line Status. |
bogdanm | 0:9b334a45a8ff | 547 | */ |
bogdanm | 0:9b334a45a8ff | 548 | #define __HAL_PWR_PVM3_EXTI_GET_FLAG() (EXTI->PR2 & PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 549 | |
bogdanm | 0:9b334a45a8ff | 550 | /** |
bogdanm | 0:9b334a45a8ff | 551 | * @brief Clear the PVM3 EXTI flag. |
bogdanm | 0:9b334a45a8ff | 552 | * @retval None |
bogdanm | 0:9b334a45a8ff | 553 | */ |
bogdanm | 0:9b334a45a8ff | 554 | #define __HAL_PWR_PVM3_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, PWR_EXTI_LINE_PVM3) |
bogdanm | 0:9b334a45a8ff | 555 | |
bogdanm | 0:9b334a45a8ff | 556 | |
bogdanm | 0:9b334a45a8ff | 557 | |
bogdanm | 0:9b334a45a8ff | 558 | |
bogdanm | 0:9b334a45a8ff | 559 | /** |
bogdanm | 0:9b334a45a8ff | 560 | * @brief Enable the PVM4 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 561 | * @retval None |
bogdanm | 0:9b334a45a8ff | 562 | */ |
bogdanm | 0:9b334a45a8ff | 563 | #define __HAL_PWR_PVM4_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 564 | |
bogdanm | 0:9b334a45a8ff | 565 | /** |
bogdanm | 0:9b334a45a8ff | 566 | * @brief Disable the PVM4 Extended Interrupt Line. |
bogdanm | 0:9b334a45a8ff | 567 | * @retval None |
bogdanm | 0:9b334a45a8ff | 568 | */ |
bogdanm | 0:9b334a45a8ff | 569 | #define __HAL_PWR_PVM4_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 570 | |
bogdanm | 0:9b334a45a8ff | 571 | /** |
bogdanm | 0:9b334a45a8ff | 572 | * @brief Enable the PVM4 Event Line. |
bogdanm | 0:9b334a45a8ff | 573 | * @retval None |
bogdanm | 0:9b334a45a8ff | 574 | */ |
bogdanm | 0:9b334a45a8ff | 575 | #define __HAL_PWR_PVM4_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 576 | |
bogdanm | 0:9b334a45a8ff | 577 | /** |
bogdanm | 0:9b334a45a8ff | 578 | * @brief Disable the PVM4 Event Line. |
bogdanm | 0:9b334a45a8ff | 579 | * @retval None |
bogdanm | 0:9b334a45a8ff | 580 | */ |
bogdanm | 0:9b334a45a8ff | 581 | #define __HAL_PWR_PVM4_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, PWR_EVENT_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 582 | |
bogdanm | 0:9b334a45a8ff | 583 | /** |
bogdanm | 0:9b334a45a8ff | 584 | * @brief Enable the PVM4 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 585 | * @retval None |
bogdanm | 0:9b334a45a8ff | 586 | */ |
bogdanm | 0:9b334a45a8ff | 587 | #define __HAL_PWR_PVM4_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 588 | |
bogdanm | 0:9b334a45a8ff | 589 | /** |
bogdanm | 0:9b334a45a8ff | 590 | * @brief Disable the PVM4 Extended Interrupt Rising Trigger. |
bogdanm | 0:9b334a45a8ff | 591 | * @retval None |
bogdanm | 0:9b334a45a8ff | 592 | */ |
bogdanm | 0:9b334a45a8ff | 593 | #define __HAL_PWR_PVM4_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 594 | |
bogdanm | 0:9b334a45a8ff | 595 | /** |
bogdanm | 0:9b334a45a8ff | 596 | * @brief Enable the PVM4 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 597 | * @retval None |
bogdanm | 0:9b334a45a8ff | 598 | */ |
bogdanm | 0:9b334a45a8ff | 599 | #define __HAL_PWR_PVM4_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 600 | |
bogdanm | 0:9b334a45a8ff | 601 | |
bogdanm | 0:9b334a45a8ff | 602 | /** |
bogdanm | 0:9b334a45a8ff | 603 | * @brief Disable the PVM4 Extended Interrupt Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 604 | * @retval None |
bogdanm | 0:9b334a45a8ff | 605 | */ |
bogdanm | 0:9b334a45a8ff | 606 | #define __HAL_PWR_PVM4_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 607 | |
bogdanm | 0:9b334a45a8ff | 608 | |
bogdanm | 0:9b334a45a8ff | 609 | /** |
bogdanm | 0:9b334a45a8ff | 610 | * @brief PVM4 EXTI line configuration: set rising & falling edge trigger. |
bogdanm | 0:9b334a45a8ff | 611 | * @retval None |
bogdanm | 0:9b334a45a8ff | 612 | */ |
bogdanm | 0:9b334a45a8ff | 613 | #define __HAL_PWR_PVM4_EXTI_ENABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 614 | do { \ |
bogdanm | 0:9b334a45a8ff | 615 | __HAL_PWR_PVM4_EXTI_ENABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 616 | __HAL_PWR_PVM4_EXTI_ENABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 617 | } while(0) |
bogdanm | 0:9b334a45a8ff | 618 | |
bogdanm | 0:9b334a45a8ff | 619 | /** |
bogdanm | 0:9b334a45a8ff | 620 | * @brief Disable the PVM4 Extended Interrupt Rising & Falling Trigger. |
bogdanm | 0:9b334a45a8ff | 621 | * @retval None |
bogdanm | 0:9b334a45a8ff | 622 | */ |
bogdanm | 0:9b334a45a8ff | 623 | #define __HAL_PWR_PVM4_EXTI_DISABLE_RISING_FALLING_EDGE() \ |
bogdanm | 0:9b334a45a8ff | 624 | do { \ |
bogdanm | 0:9b334a45a8ff | 625 | __HAL_PWR_PVM4_EXTI_DISABLE_RISING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 626 | __HAL_PWR_PVM4_EXTI_DISABLE_FALLING_EDGE(); \ |
bogdanm | 0:9b334a45a8ff | 627 | } while(0) |
bogdanm | 0:9b334a45a8ff | 628 | |
bogdanm | 0:9b334a45a8ff | 629 | /** |
bogdanm | 0:9b334a45a8ff | 630 | * @brief Generate a Software interrupt on selected EXTI line. |
bogdanm | 0:9b334a45a8ff | 631 | * @retval None |
bogdanm | 0:9b334a45a8ff | 632 | */ |
bogdanm | 0:9b334a45a8ff | 633 | #define __HAL_PWR_PVM4_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 634 | |
bogdanm | 0:9b334a45a8ff | 635 | /** |
bogdanm | 0:9b334a45a8ff | 636 | * @brief Check whether or not the specified PVM4 EXTI interrupt flag is set. |
bogdanm | 0:9b334a45a8ff | 637 | * @retval EXTI PVM4 Line Status. |
bogdanm | 0:9b334a45a8ff | 638 | */ |
bogdanm | 0:9b334a45a8ff | 639 | #define __HAL_PWR_PVM4_EXTI_GET_FLAG() (EXTI->PR2 & PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 640 | |
bogdanm | 0:9b334a45a8ff | 641 | /** |
bogdanm | 0:9b334a45a8ff | 642 | * @brief Clear the PVM4 EXTI flag. |
bogdanm | 0:9b334a45a8ff | 643 | * @retval None |
bogdanm | 0:9b334a45a8ff | 644 | */ |
bogdanm | 0:9b334a45a8ff | 645 | #define __HAL_PWR_PVM4_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, PWR_EXTI_LINE_PVM4) |
bogdanm | 0:9b334a45a8ff | 646 | |
bogdanm | 0:9b334a45a8ff | 647 | |
bogdanm | 0:9b334a45a8ff | 648 | /** |
bogdanm | 0:9b334a45a8ff | 649 | * @brief Configure the main internal regulator output voltage. |
bogdanm | 0:9b334a45a8ff | 650 | * @param __REGULATOR__: specifies the regulator output voltage to achieve |
bogdanm | 0:9b334a45a8ff | 651 | * a tradeoff between performance and power consumption. |
bogdanm | 0:9b334a45a8ff | 652 | * This parameter can be one of the following values: |
bogdanm | 0:9b334a45a8ff | 653 | * @arg PWR_REGULATOR_VOLTAGE_SCALE1: Regulator voltage output range 1 mode, |
bogdanm | 0:9b334a45a8ff | 654 | * typical output voltage at 1.2 V, |
bogdanm | 0:9b334a45a8ff | 655 | * system frequency up to 80 MHz. |
bogdanm | 0:9b334a45a8ff | 656 | * @arg PWR_REGULATOR_VOLTAGE_SCALE2: Regulator voltage output range 2 mode, |
bogdanm | 0:9b334a45a8ff | 657 | * typical output voltage at 1.0 V, |
bogdanm | 0:9b334a45a8ff | 658 | * system frequency up to 26 MHz. |
bogdanm | 0:9b334a45a8ff | 659 | * @note This macro is similar to HAL_PWREx_ControlVoltageScaling() API but doesn't check |
bogdanm | 0:9b334a45a8ff | 660 | * whether or not VOSF flag is cleared when moving from range 2 to range 1. User |
bogdanm | 0:9b334a45a8ff | 661 | * may resort to __HAL_PWR_GET_FLAG() macro to check VOSF bit resetting. |
bogdanm | 0:9b334a45a8ff | 662 | * @retval None |
bogdanm | 0:9b334a45a8ff | 663 | */ |
bogdanm | 0:9b334a45a8ff | 664 | #define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) do { \ |
bogdanm | 0:9b334a45a8ff | 665 | __IO uint32_t tmpreg; \ |
bogdanm | 0:9b334a45a8ff | 666 | MODIFY_REG(PWR->CR1, PWR_CR1_VOS, (__REGULATOR__)); \ |
bogdanm | 0:9b334a45a8ff | 667 | /* Delay after an RCC peripheral clock enabling */ \ |
bogdanm | 0:9b334a45a8ff | 668 | tmpreg = READ_BIT(PWR->CR1, PWR_CR1_VOS); \ |
bogdanm | 0:9b334a45a8ff | 669 | UNUSED(tmpreg); \ |
bogdanm | 0:9b334a45a8ff | 670 | } while(0) |
bogdanm | 0:9b334a45a8ff | 671 | |
bogdanm | 0:9b334a45a8ff | 672 | /** |
bogdanm | 0:9b334a45a8ff | 673 | * @} |
bogdanm | 0:9b334a45a8ff | 674 | */ |
bogdanm | 0:9b334a45a8ff | 675 | |
bogdanm | 0:9b334a45a8ff | 676 | /* Private macros --------------------------------------------------------*/ |
bogdanm | 0:9b334a45a8ff | 677 | /** @addtogroup PWREx_Private_Macros PWR Extended Private Macros |
bogdanm | 0:9b334a45a8ff | 678 | * @{ |
bogdanm | 0:9b334a45a8ff | 679 | */ |
bogdanm | 0:9b334a45a8ff | 680 | |
bogdanm | 0:9b334a45a8ff | 681 | #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WAKEUP_PIN1) || \ |
bogdanm | 0:9b334a45a8ff | 682 | ((PIN) == PWR_WAKEUP_PIN2) || \ |
bogdanm | 0:9b334a45a8ff | 683 | ((PIN) == PWR_WAKEUP_PIN3) || \ |
bogdanm | 0:9b334a45a8ff | 684 | ((PIN) == PWR_WAKEUP_PIN4) || \ |
bogdanm | 0:9b334a45a8ff | 685 | ((PIN) == PWR_WAKEUP_PIN5) || \ |
bogdanm | 0:9b334a45a8ff | 686 | ((PIN) == PWR_WAKEUP_PIN1_HIGH) || \ |
bogdanm | 0:9b334a45a8ff | 687 | ((PIN) == PWR_WAKEUP_PIN2_HIGH) || \ |
bogdanm | 0:9b334a45a8ff | 688 | ((PIN) == PWR_WAKEUP_PIN3_HIGH) || \ |
bogdanm | 0:9b334a45a8ff | 689 | ((PIN) == PWR_WAKEUP_PIN4_HIGH) || \ |
bogdanm | 0:9b334a45a8ff | 690 | ((PIN) == PWR_WAKEUP_PIN5_HIGH) || \ |
bogdanm | 0:9b334a45a8ff | 691 | ((PIN) == PWR_WAKEUP_PIN1_LOW) || \ |
bogdanm | 0:9b334a45a8ff | 692 | ((PIN) == PWR_WAKEUP_PIN2_LOW) || \ |
bogdanm | 0:9b334a45a8ff | 693 | ((PIN) == PWR_WAKEUP_PIN3_LOW) || \ |
bogdanm | 0:9b334a45a8ff | 694 | ((PIN) == PWR_WAKEUP_PIN4_LOW) || \ |
bogdanm | 0:9b334a45a8ff | 695 | ((PIN) == PWR_WAKEUP_PIN5_LOW)) |
bogdanm | 0:9b334a45a8ff | 696 | |
bogdanm | 0:9b334a45a8ff | 697 | #define IS_PWR_PVM_TYPE(TYPE) (((TYPE) & PWR_CR2_PVME) != RESET) |
bogdanm | 0:9b334a45a8ff | 698 | |
bogdanm | 0:9b334a45a8ff | 699 | #define IS_PWR_PVM_MODE(MODE) (((MODE) == PWR_PVM_MODE_NORMAL) ||\ |
bogdanm | 0:9b334a45a8ff | 700 | ((MODE) == PWR_PVM_MODE_IT_RISING) ||\ |
bogdanm | 0:9b334a45a8ff | 701 | ((MODE) == PWR_PVM_MODE_IT_FALLING) ||\ |
bogdanm | 0:9b334a45a8ff | 702 | ((MODE) == PWR_PVM_MODE_IT_RISING_FALLING) ||\ |
bogdanm | 0:9b334a45a8ff | 703 | ((MODE) == PWR_PVM_MODE_EVENT_RISING) ||\ |
bogdanm | 0:9b334a45a8ff | 704 | ((MODE) == PWR_PVM_MODE_EVENT_FALLING) ||\ |
bogdanm | 0:9b334a45a8ff | 705 | ((MODE) == PWR_PVM_MODE_EVENT_RISING_FALLING)) |
bogdanm | 0:9b334a45a8ff | 706 | |
bogdanm | 0:9b334a45a8ff | 707 | #define IS_PWR_VOLTAGE_SCALING_RANGE(RANGE) (((RANGE) == PWR_REGULATOR_VOLTAGE_SCALE1) || \ |
bogdanm | 0:9b334a45a8ff | 708 | ((RANGE) == PWR_REGULATOR_VOLTAGE_SCALE2)) |
bogdanm | 0:9b334a45a8ff | 709 | |
bogdanm | 0:9b334a45a8ff | 710 | #define IS_PWR_BATTERY_RESISTOR_SELECT(RESISTOR) (((RESISTOR) == PWR_BATTERY_CHARGING_RESISTOR_5) ||\ |
bogdanm | 0:9b334a45a8ff | 711 | ((RESISTOR) == PWR_BATTERY_CHARGING_RESISTOR_1_5)) |
bogdanm | 0:9b334a45a8ff | 712 | |
bogdanm | 0:9b334a45a8ff | 713 | #define IS_PWR_BATTERY_CHARGING(CHARGING) (((CHARGING) == PWR_BATTERY_CHARGING_DISABLE) ||\ |
bogdanm | 0:9b334a45a8ff | 714 | ((CHARGING) == PWR_BATTERY_CHARGING_ENABLE)) |
bogdanm | 0:9b334a45a8ff | 715 | |
bogdanm | 0:9b334a45a8ff | 716 | #define IS_PWR_GPIO_BIT_NUMBER(BIT_NUMBER) (((BIT_NUMBER) == PWR_GPIO_BIT_0) ||\ |
bogdanm | 0:9b334a45a8ff | 717 | ((BIT_NUMBER) == PWR_GPIO_BIT_1) ||\ |
bogdanm | 0:9b334a45a8ff | 718 | ((BIT_NUMBER) == PWR_GPIO_BIT_2) ||\ |
bogdanm | 0:9b334a45a8ff | 719 | ((BIT_NUMBER) == PWR_GPIO_BIT_3) ||\ |
bogdanm | 0:9b334a45a8ff | 720 | ((BIT_NUMBER) == PWR_GPIO_BIT_4) ||\ |
bogdanm | 0:9b334a45a8ff | 721 | ((BIT_NUMBER) == PWR_GPIO_BIT_5) ||\ |
bogdanm | 0:9b334a45a8ff | 722 | ((BIT_NUMBER) == PWR_GPIO_BIT_6) ||\ |
bogdanm | 0:9b334a45a8ff | 723 | ((BIT_NUMBER) == PWR_GPIO_BIT_7) ||\ |
bogdanm | 0:9b334a45a8ff | 724 | ((BIT_NUMBER) == PWR_GPIO_BIT_8) ||\ |
bogdanm | 0:9b334a45a8ff | 725 | ((BIT_NUMBER) == PWR_GPIO_BIT_9) ||\ |
bogdanm | 0:9b334a45a8ff | 726 | ((BIT_NUMBER) == PWR_GPIO_BIT_10) ||\ |
bogdanm | 0:9b334a45a8ff | 727 | ((BIT_NUMBER) == PWR_GPIO_BIT_11) ||\ |
bogdanm | 0:9b334a45a8ff | 728 | ((BIT_NUMBER) == PWR_GPIO_BIT_12) ||\ |
bogdanm | 0:9b334a45a8ff | 729 | ((BIT_NUMBER) == PWR_GPIO_BIT_13) ||\ |
bogdanm | 0:9b334a45a8ff | 730 | ((BIT_NUMBER) == PWR_GPIO_BIT_14) ||\ |
bogdanm | 0:9b334a45a8ff | 731 | ((BIT_NUMBER) == PWR_GPIO_BIT_15)) |
bogdanm | 0:9b334a45a8ff | 732 | |
bogdanm | 0:9b334a45a8ff | 733 | #define IS_PWR_GPIO(GPIO) (((GPIO) == PWR_GPIO_A) ||\ |
bogdanm | 0:9b334a45a8ff | 734 | ((GPIO) == PWR_GPIO_B) ||\ |
bogdanm | 0:9b334a45a8ff | 735 | ((GPIO) == PWR_GPIO_C) ||\ |
bogdanm | 0:9b334a45a8ff | 736 | ((GPIO) == PWR_GPIO_D) ||\ |
bogdanm | 0:9b334a45a8ff | 737 | ((GPIO) == PWR_GPIO_E) ||\ |
bogdanm | 0:9b334a45a8ff | 738 | ((GPIO) == PWR_GPIO_F) ||\ |
bogdanm | 0:9b334a45a8ff | 739 | ((GPIO) == PWR_GPIO_G) ||\ |
bogdanm | 0:9b334a45a8ff | 740 | ((GPIO) == PWR_GPIO_H)) |
bogdanm | 0:9b334a45a8ff | 741 | |
bogdanm | 0:9b334a45a8ff | 742 | /** |
bogdanm | 0:9b334a45a8ff | 743 | * @} |
bogdanm | 0:9b334a45a8ff | 744 | */ |
bogdanm | 0:9b334a45a8ff | 745 | |
bogdanm | 0:9b334a45a8ff | 746 | |
bogdanm | 0:9b334a45a8ff | 747 | /** @addtogroup PWREx_Exported_Functions PWR Extended Exported Functions |
bogdanm | 0:9b334a45a8ff | 748 | * @{ |
bogdanm | 0:9b334a45a8ff | 749 | */ |
bogdanm | 0:9b334a45a8ff | 750 | |
bogdanm | 0:9b334a45a8ff | 751 | /** @addtogroup PWREx_Exported_Functions_Group1 Extended Peripheral Control functions |
bogdanm | 0:9b334a45a8ff | 752 | * @{ |
bogdanm | 0:9b334a45a8ff | 753 | */ |
bogdanm | 0:9b334a45a8ff | 754 | |
bogdanm | 0:9b334a45a8ff | 755 | |
bogdanm | 0:9b334a45a8ff | 756 | /* Peripheral Control functions **********************************************/ |
bogdanm | 0:9b334a45a8ff | 757 | uint32_t HAL_PWREx_GetVoltageRange(void); |
bogdanm | 0:9b334a45a8ff | 758 | HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling); |
bogdanm | 0:9b334a45a8ff | 759 | void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorSelection); |
bogdanm | 0:9b334a45a8ff | 760 | void HAL_PWREx_DisableBatteryCharging(void); |
bogdanm | 0:9b334a45a8ff | 761 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 762 | void HAL_PWREx_EnableVddUSB(void); |
bogdanm | 0:9b334a45a8ff | 763 | void HAL_PWREx_DisableVddUSB(void); |
bogdanm | 0:9b334a45a8ff | 764 | #endif /* defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) */ |
bogdanm | 0:9b334a45a8ff | 765 | void HAL_PWREx_EnableVddIO2(void); |
bogdanm | 0:9b334a45a8ff | 766 | void HAL_PWREx_DisableVddIO2(void); |
bogdanm | 0:9b334a45a8ff | 767 | void HAL_PWREx_EnableInternalWakeUpLine(void); |
bogdanm | 0:9b334a45a8ff | 768 | void HAL_PWREx_DisableInternalWakeUpLine(void); |
bogdanm | 0:9b334a45a8ff | 769 | HAL_StatusTypeDef HAL_PWREx_EnableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber); |
bogdanm | 0:9b334a45a8ff | 770 | HAL_StatusTypeDef HAL_PWREx_DisableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber); |
bogdanm | 0:9b334a45a8ff | 771 | HAL_StatusTypeDef HAL_PWREx_EnableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber); |
bogdanm | 0:9b334a45a8ff | 772 | HAL_StatusTypeDef HAL_PWREx_DisableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber); |
bogdanm | 0:9b334a45a8ff | 773 | void HAL_PWREx_EnablePullUpPullDownConfig(void); |
bogdanm | 0:9b334a45a8ff | 774 | void HAL_PWREx_DisablePullUpPullDownConfig(void); |
bogdanm | 0:9b334a45a8ff | 775 | void HAL_PWREx_EnableSRAM2ContentRetention(void); |
bogdanm | 0:9b334a45a8ff | 776 | void HAL_PWREx_DisableSRAM2ContentRetention(void); |
bogdanm | 0:9b334a45a8ff | 777 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 778 | void HAL_PWREx_EnablePVM1(void); |
bogdanm | 0:9b334a45a8ff | 779 | void HAL_PWREx_DisablePVM1(void); |
bogdanm | 0:9b334a45a8ff | 780 | #endif /* defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) */ |
bogdanm | 0:9b334a45a8ff | 781 | void HAL_PWREx_EnablePVM2(void); |
bogdanm | 0:9b334a45a8ff | 782 | void HAL_PWREx_DisablePVM2(void); |
bogdanm | 0:9b334a45a8ff | 783 | void HAL_PWREx_EnablePVM3(void); |
bogdanm | 0:9b334a45a8ff | 784 | void HAL_PWREx_DisablePVM3(void); |
bogdanm | 0:9b334a45a8ff | 785 | void HAL_PWREx_EnablePVM4(void); |
bogdanm | 0:9b334a45a8ff | 786 | void HAL_PWREx_DisablePVM4(void); |
bogdanm | 0:9b334a45a8ff | 787 | HAL_StatusTypeDef HAL_PWREx_ConfigPVM(PWR_PVMTypeDef *sConfigPVM); |
bogdanm | 0:9b334a45a8ff | 788 | |
bogdanm | 0:9b334a45a8ff | 789 | |
bogdanm | 0:9b334a45a8ff | 790 | /* Low Power modes configuration functions ************************************/ |
bogdanm | 0:9b334a45a8ff | 791 | void HAL_PWREx_EnableLowPowerRunMode(void); |
bogdanm | 0:9b334a45a8ff | 792 | HAL_StatusTypeDef HAL_PWREx_DisableLowPowerRunMode(void); |
bogdanm | 0:9b334a45a8ff | 793 | void HAL_PWREx_EnterSTOP1Mode(uint32_t Regulator, uint8_t STOPEntry); |
bogdanm | 0:9b334a45a8ff | 794 | void HAL_PWREx_EnterSTOP2Mode(uint8_t STOPEntry); |
bogdanm | 0:9b334a45a8ff | 795 | void HAL_PWREx_EnterSHUTDOWNMode(void); |
bogdanm | 0:9b334a45a8ff | 796 | |
bogdanm | 0:9b334a45a8ff | 797 | void HAL_PWREx_PVD_PVM_IRQHandler(void); |
bogdanm | 0:9b334a45a8ff | 798 | #if defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) |
bogdanm | 0:9b334a45a8ff | 799 | void HAL_PWREx_PVM1Callback(void); |
bogdanm | 0:9b334a45a8ff | 800 | #endif /* defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) */ |
bogdanm | 0:9b334a45a8ff | 801 | void HAL_PWREx_PVM2Callback(void); |
bogdanm | 0:9b334a45a8ff | 802 | void HAL_PWREx_PVM3Callback(void); |
bogdanm | 0:9b334a45a8ff | 803 | void HAL_PWREx_PVM4Callback(void); |
bogdanm | 0:9b334a45a8ff | 804 | |
bogdanm | 0:9b334a45a8ff | 805 | |
bogdanm | 0:9b334a45a8ff | 806 | /** |
bogdanm | 0:9b334a45a8ff | 807 | * @} |
bogdanm | 0:9b334a45a8ff | 808 | */ |
bogdanm | 0:9b334a45a8ff | 809 | |
bogdanm | 0:9b334a45a8ff | 810 | /** |
bogdanm | 0:9b334a45a8ff | 811 | * @} |
bogdanm | 0:9b334a45a8ff | 812 | */ |
bogdanm | 0:9b334a45a8ff | 813 | |
bogdanm | 0:9b334a45a8ff | 814 | /** |
bogdanm | 0:9b334a45a8ff | 815 | * @} |
bogdanm | 0:9b334a45a8ff | 816 | */ |
bogdanm | 0:9b334a45a8ff | 817 | |
bogdanm | 0:9b334a45a8ff | 818 | /** |
bogdanm | 0:9b334a45a8ff | 819 | * @} |
bogdanm | 0:9b334a45a8ff | 820 | */ |
bogdanm | 0:9b334a45a8ff | 821 | |
bogdanm | 0:9b334a45a8ff | 822 | #ifdef __cplusplus |
bogdanm | 0:9b334a45a8ff | 823 | } |
bogdanm | 0:9b334a45a8ff | 824 | #endif |
bogdanm | 0:9b334a45a8ff | 825 | |
bogdanm | 0:9b334a45a8ff | 826 | |
bogdanm | 0:9b334a45a8ff | 827 | #endif /* __STM32L4xx_HAL_PWR_EX_H */ |
bogdanm | 0:9b334a45a8ff | 828 | |
bogdanm | 0:9b334a45a8ff | 829 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |