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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Jun 21 17:31:38 2017 +0100
Revision:
145:64910690c574
Child:
163:e59c8e839560
Release 145 of the mbed library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 145:64910690c574 1 /**
AnnaBridge 145:64910690c574 2 ******************************************************************************
AnnaBridge 145:64910690c574 3 * @file stm32f4xx_ll_pwr.h
AnnaBridge 145:64910690c574 4 * @author MCD Application Team
AnnaBridge 145:64910690c574 5 * @version V1.7.1
AnnaBridge 145:64910690c574 6 * @date 14-April-2017
AnnaBridge 145:64910690c574 7 * @brief Header file of PWR LL module.
AnnaBridge 145:64910690c574 8 ******************************************************************************
AnnaBridge 145:64910690c574 9 * @attention
AnnaBridge 145:64910690c574 10 *
AnnaBridge 145:64910690c574 11 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 145:64910690c574 12 *
AnnaBridge 145:64910690c574 13 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 145:64910690c574 14 * are permitted provided that the following conditions are met:
AnnaBridge 145:64910690c574 15 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 145:64910690c574 16 * this list of conditions and the following disclaimer.
AnnaBridge 145:64910690c574 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 145:64910690c574 18 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 145:64910690c574 19 * and/or other materials provided with the distribution.
AnnaBridge 145:64910690c574 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 145:64910690c574 21 * may be used to endorse or promote products derived from this software
AnnaBridge 145:64910690c574 22 * without specific prior written permission.
AnnaBridge 145:64910690c574 23 *
AnnaBridge 145:64910690c574 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 145:64910690c574 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 145:64910690c574 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 145:64910690c574 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 145:64910690c574 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 145:64910690c574 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 145:64910690c574 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 145:64910690c574 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 145:64910690c574 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 145:64910690c574 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 145:64910690c574 34 *
AnnaBridge 145:64910690c574 35 ******************************************************************************
AnnaBridge 145:64910690c574 36 */
AnnaBridge 145:64910690c574 37
AnnaBridge 145:64910690c574 38 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 145:64910690c574 39 #ifndef __STM32F4xx_LL_PWR_H
AnnaBridge 145:64910690c574 40 #define __STM32F4xx_LL_PWR_H
AnnaBridge 145:64910690c574 41
AnnaBridge 145:64910690c574 42 #ifdef __cplusplus
AnnaBridge 145:64910690c574 43 extern "C" {
AnnaBridge 145:64910690c574 44 #endif
AnnaBridge 145:64910690c574 45
AnnaBridge 145:64910690c574 46 /* Includes ------------------------------------------------------------------*/
AnnaBridge 145:64910690c574 47 #include "stm32f4xx.h"
AnnaBridge 145:64910690c574 48
AnnaBridge 145:64910690c574 49 /** @addtogroup STM32F4xx_LL_Driver
AnnaBridge 145:64910690c574 50 * @{
AnnaBridge 145:64910690c574 51 */
AnnaBridge 145:64910690c574 52
AnnaBridge 145:64910690c574 53 #if defined(PWR)
AnnaBridge 145:64910690c574 54
AnnaBridge 145:64910690c574 55 /** @defgroup PWR_LL PWR
AnnaBridge 145:64910690c574 56 * @{
AnnaBridge 145:64910690c574 57 */
AnnaBridge 145:64910690c574 58
AnnaBridge 145:64910690c574 59 /* Private types -------------------------------------------------------------*/
AnnaBridge 145:64910690c574 60 /* Private variables ---------------------------------------------------------*/
AnnaBridge 145:64910690c574 61 /* Private constants ---------------------------------------------------------*/
AnnaBridge 145:64910690c574 62 /* Private macros ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 63 /* Exported types ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 64 /* Exported constants --------------------------------------------------------*/
AnnaBridge 145:64910690c574 65 /** @defgroup PWR_LL_Exported_Constants PWR Exported Constants
AnnaBridge 145:64910690c574 66 * @{
AnnaBridge 145:64910690c574 67 */
AnnaBridge 145:64910690c574 68
AnnaBridge 145:64910690c574 69 /** @defgroup PWR_LL_EC_CLEAR_FLAG Clear Flags Defines
AnnaBridge 145:64910690c574 70 * @brief Flags defines which can be used with LL_PWR_WriteReg function
AnnaBridge 145:64910690c574 71 * @{
AnnaBridge 145:64910690c574 72 */
AnnaBridge 145:64910690c574 73 #define LL_PWR_CR_CSBF PWR_CR_CSBF /*!< Clear standby flag */
AnnaBridge 145:64910690c574 74 #define LL_PWR_CR_CWUF PWR_CR_CWUF /*!< Clear wakeup flag */
AnnaBridge 145:64910690c574 75 /**
AnnaBridge 145:64910690c574 76 * @}
AnnaBridge 145:64910690c574 77 */
AnnaBridge 145:64910690c574 78
AnnaBridge 145:64910690c574 79 /** @defgroup PWR_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 145:64910690c574 80 * @brief Flags defines which can be used with LL_PWR_ReadReg function
AnnaBridge 145:64910690c574 81 * @{
AnnaBridge 145:64910690c574 82 */
AnnaBridge 145:64910690c574 83 #define LL_PWR_CSR_WUF PWR_CSR_WUF /*!< Wakeup flag */
AnnaBridge 145:64910690c574 84 #define LL_PWR_CSR_SBF PWR_CSR_SBF /*!< Standby flag */
AnnaBridge 145:64910690c574 85 #define LL_PWR_CSR_PVDO PWR_CSR_PVDO /*!< Power voltage detector output flag */
AnnaBridge 145:64910690c574 86 #define LL_PWR_CSR_VOS PWR_CSR_VOSRDY /*!< Voltage scaling select flag */
AnnaBridge 145:64910690c574 87 #if defined(PWR_CSR_EWUP)
AnnaBridge 145:64910690c574 88 #define LL_PWR_CSR_EWUP1 PWR_CSR_EWUP /*!< Enable WKUP pin */
AnnaBridge 145:64910690c574 89 #elif defined(PWR_CSR_EWUP1)
AnnaBridge 145:64910690c574 90 #define LL_PWR_CSR_EWUP1 PWR_CSR_EWUP1 /*!< Enable WKUP pin 1 */
AnnaBridge 145:64910690c574 91 #endif /* PWR_CSR_EWUP */
AnnaBridge 145:64910690c574 92 #if defined(PWR_CSR_EWUP2)
AnnaBridge 145:64910690c574 93 #define LL_PWR_CSR_EWUP2 PWR_CSR_EWUP2 /*!< Enable WKUP pin 2 */
AnnaBridge 145:64910690c574 94 #endif /* PWR_CSR_EWUP2 */
AnnaBridge 145:64910690c574 95 #if defined(PWR_CSR_EWUP3)
AnnaBridge 145:64910690c574 96 #define LL_PWR_CSR_EWUP3 PWR_CSR_EWUP3 /*!< Enable WKUP pin 3 */
AnnaBridge 145:64910690c574 97 #endif /* PWR_CSR_EWUP3 */
AnnaBridge 145:64910690c574 98 /**
AnnaBridge 145:64910690c574 99 * @}
AnnaBridge 145:64910690c574 100 */
AnnaBridge 145:64910690c574 101
AnnaBridge 145:64910690c574 102 /** @defgroup PWR_LL_EC_REGU_VOLTAGE Regulator Voltage
AnnaBridge 145:64910690c574 103 * @{
AnnaBridge 145:64910690c574 104 */
AnnaBridge 145:64910690c574 105 #if defined(PWR_CR_VOS_0)
AnnaBridge 145:64910690c574 106 #define LL_PWR_REGU_VOLTAGE_SCALE3 (PWR_CR_VOS_0)
AnnaBridge 145:64910690c574 107 #define LL_PWR_REGU_VOLTAGE_SCALE2 (PWR_CR_VOS_1)
AnnaBridge 145:64910690c574 108 #define LL_PWR_REGU_VOLTAGE_SCALE1 (PWR_CR_VOS_0 | PWR_CR_VOS_1) /* The SCALE1 is not available for STM32F401xx devices */
AnnaBridge 145:64910690c574 109 #else
AnnaBridge 145:64910690c574 110 #define LL_PWR_REGU_VOLTAGE_SCALE1 (PWR_CR_VOS)
AnnaBridge 145:64910690c574 111 #define LL_PWR_REGU_VOLTAGE_SCALE2 0x00000000U
AnnaBridge 145:64910690c574 112 #endif /* PWR_CR_VOS_0 */
AnnaBridge 145:64910690c574 113 /**
AnnaBridge 145:64910690c574 114 * @}
AnnaBridge 145:64910690c574 115 */
AnnaBridge 145:64910690c574 116
AnnaBridge 145:64910690c574 117 /** @defgroup PWR_LL_EC_MODE_PWR Mode Power
AnnaBridge 145:64910690c574 118 * @{
AnnaBridge 145:64910690c574 119 */
AnnaBridge 145:64910690c574 120 #define LL_PWR_MODE_STOP_MAINREGU 0x00000000U /*!< Enter Stop mode when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 121 #define LL_PWR_MODE_STOP_LPREGU (PWR_CR_LPDS) /*!< Enter Stop mode (with low power Regulator ON) when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 122 #if defined(PWR_CR_MRUDS) && defined(PWR_CR_LPUDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 123 #define LL_PWR_MODE_STOP_MAINREGU_UNDERDRIVE (PWR_CR_MRUDS | PWR_CR_FPDS) /*!< Enter Stop mode (with main Regulator in under-drive mode) when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 124 #define LL_PWR_MODE_STOP_LPREGU_UNDERDRIVE (PWR_CR_LPDS | PWR_CR_LPUDS | PWR_CR_FPDS) /*!< Enter Stop mode (with low power Regulator in under-drive mode) when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 125 #endif /* PWR_CR_MRUDS && PWR_CR_LPUDS && PWR_CR_FPDS */
AnnaBridge 145:64910690c574 126 #if defined(PWR_CR_MRLVDS) && defined(PWR_CR_LPLVDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 127 #define LL_PWR_MODE_STOP_MAINREGU_DEEPSLEEP (PWR_CR_MRLVDS | PWR_CR_FPDS) /*!< Enter Stop mode (with main Regulator in Deep Sleep mode) when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 128 #define LL_PWR_MODE_STOP_LPREGU_DEEPSLEEP (PWR_CR_LPDS | PWR_CR_LPLVDS | PWR_CR_FPDS) /*!< Enter Stop mode (with low power Regulator in Deep Sleep mode) when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 129 #endif /* PWR_CR_MRLVDS && PWR_CR_LPLVDS && PWR_CR_FPDS */
AnnaBridge 145:64910690c574 130 #define LL_PWR_MODE_STANDBY (PWR_CR_PDDS) /*!< Enter Standby mode when the CPU enters deepsleep */
AnnaBridge 145:64910690c574 131 /**
AnnaBridge 145:64910690c574 132 * @}
AnnaBridge 145:64910690c574 133 */
AnnaBridge 145:64910690c574 134
AnnaBridge 145:64910690c574 135 /** @defgroup PWR_LL_EC_REGU_MODE_DS_MODE Regulator Mode In Deep Sleep Mode
AnnaBridge 145:64910690c574 136 * @{
AnnaBridge 145:64910690c574 137 */
AnnaBridge 145:64910690c574 138 #define LL_PWR_REGU_DSMODE_MAIN 0x00000000U /*!< Voltage Regulator in main mode during deepsleep mode */
AnnaBridge 145:64910690c574 139 #define LL_PWR_REGU_DSMODE_LOW_POWER (PWR_CR_LPDS) /*!< Voltage Regulator in low-power mode during deepsleep mode */
AnnaBridge 145:64910690c574 140 /**
AnnaBridge 145:64910690c574 141 * @}
AnnaBridge 145:64910690c574 142 */
AnnaBridge 145:64910690c574 143
AnnaBridge 145:64910690c574 144 /** @defgroup PWR_LL_EC_PVDLEVEL Power Voltage Detector Level
AnnaBridge 145:64910690c574 145 * @{
AnnaBridge 145:64910690c574 146 */
AnnaBridge 145:64910690c574 147 #define LL_PWR_PVDLEVEL_0 (PWR_CR_PLS_LEV0) /*!< Voltage threshold detected by PVD 2.2 V */
AnnaBridge 145:64910690c574 148 #define LL_PWR_PVDLEVEL_1 (PWR_CR_PLS_LEV1) /*!< Voltage threshold detected by PVD 2.3 V */
AnnaBridge 145:64910690c574 149 #define LL_PWR_PVDLEVEL_2 (PWR_CR_PLS_LEV2) /*!< Voltage threshold detected by PVD 2.4 V */
AnnaBridge 145:64910690c574 150 #define LL_PWR_PVDLEVEL_3 (PWR_CR_PLS_LEV3) /*!< Voltage threshold detected by PVD 2.5 V */
AnnaBridge 145:64910690c574 151 #define LL_PWR_PVDLEVEL_4 (PWR_CR_PLS_LEV4) /*!< Voltage threshold detected by PVD 2.6 V */
AnnaBridge 145:64910690c574 152 #define LL_PWR_PVDLEVEL_5 (PWR_CR_PLS_LEV5) /*!< Voltage threshold detected by PVD 2.7 V */
AnnaBridge 145:64910690c574 153 #define LL_PWR_PVDLEVEL_6 (PWR_CR_PLS_LEV6) /*!< Voltage threshold detected by PVD 2.8 V */
AnnaBridge 145:64910690c574 154 #define LL_PWR_PVDLEVEL_7 (PWR_CR_PLS_LEV7) /*!< Voltage threshold detected by PVD 2.9 V */
AnnaBridge 145:64910690c574 155 /**
AnnaBridge 145:64910690c574 156 * @}
AnnaBridge 145:64910690c574 157 */
AnnaBridge 145:64910690c574 158 /** @defgroup PWR_LL_EC_WAKEUP_PIN Wakeup Pins
AnnaBridge 145:64910690c574 159 * @{
AnnaBridge 145:64910690c574 160 */
AnnaBridge 145:64910690c574 161 #if defined(PWR_CSR_EWUP)
AnnaBridge 145:64910690c574 162 #define LL_PWR_WAKEUP_PIN1 (PWR_CSR_EWUP) /*!< WKUP pin : PA0 */
AnnaBridge 145:64910690c574 163 #endif /* PWR_CSR_EWUP */
AnnaBridge 145:64910690c574 164 #if defined(PWR_CSR_EWUP1)
AnnaBridge 145:64910690c574 165 #define LL_PWR_WAKEUP_PIN1 (PWR_CSR_EWUP1) /*!< WKUP pin 1 : PA0 */
AnnaBridge 145:64910690c574 166 #endif /* PWR_CSR_EWUP1 */
AnnaBridge 145:64910690c574 167 #if defined(PWR_CSR_EWUP2)
AnnaBridge 145:64910690c574 168 #define LL_PWR_WAKEUP_PIN2 (PWR_CSR_EWUP2) /*!< WKUP pin 2 : PC0 or PC13 according to device */
AnnaBridge 145:64910690c574 169 #endif /* PWR_CSR_EWUP2 */
AnnaBridge 145:64910690c574 170 #if defined(PWR_CSR_EWUP3)
AnnaBridge 145:64910690c574 171 #define LL_PWR_WAKEUP_PIN3 (PWR_CSR_EWUP3) /*!< WKUP pin 3 : PC1 */
AnnaBridge 145:64910690c574 172 #endif /* PWR_CSR_EWUP3 */
AnnaBridge 145:64910690c574 173 /**
AnnaBridge 145:64910690c574 174 * @}
AnnaBridge 145:64910690c574 175 */
AnnaBridge 145:64910690c574 176
AnnaBridge 145:64910690c574 177 /**
AnnaBridge 145:64910690c574 178 * @}
AnnaBridge 145:64910690c574 179 */
AnnaBridge 145:64910690c574 180
AnnaBridge 145:64910690c574 181
AnnaBridge 145:64910690c574 182 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 183 /** @defgroup PWR_LL_Exported_Macros PWR Exported Macros
AnnaBridge 145:64910690c574 184 * @{
AnnaBridge 145:64910690c574 185 */
AnnaBridge 145:64910690c574 186
AnnaBridge 145:64910690c574 187 /** @defgroup PWR_LL_EM_WRITE_READ Common write and read registers Macros
AnnaBridge 145:64910690c574 188 * @{
AnnaBridge 145:64910690c574 189 */
AnnaBridge 145:64910690c574 190
AnnaBridge 145:64910690c574 191 /**
AnnaBridge 145:64910690c574 192 * @brief Write a value in PWR register
AnnaBridge 145:64910690c574 193 * @param __REG__ Register to be written
AnnaBridge 145:64910690c574 194 * @param __VALUE__ Value to be written in the register
AnnaBridge 145:64910690c574 195 * @retval None
AnnaBridge 145:64910690c574 196 */
AnnaBridge 145:64910690c574 197 #define LL_PWR_WriteReg(__REG__, __VALUE__) WRITE_REG(PWR->__REG__, (__VALUE__))
AnnaBridge 145:64910690c574 198
AnnaBridge 145:64910690c574 199 /**
AnnaBridge 145:64910690c574 200 * @brief Read a value in PWR register
AnnaBridge 145:64910690c574 201 * @param __REG__ Register to be read
AnnaBridge 145:64910690c574 202 * @retval Register value
AnnaBridge 145:64910690c574 203 */
AnnaBridge 145:64910690c574 204 #define LL_PWR_ReadReg(__REG__) READ_REG(PWR->__REG__)
AnnaBridge 145:64910690c574 205 /**
AnnaBridge 145:64910690c574 206 * @}
AnnaBridge 145:64910690c574 207 */
AnnaBridge 145:64910690c574 208
AnnaBridge 145:64910690c574 209 /**
AnnaBridge 145:64910690c574 210 * @}
AnnaBridge 145:64910690c574 211 */
AnnaBridge 145:64910690c574 212
AnnaBridge 145:64910690c574 213 /* Exported functions --------------------------------------------------------*/
AnnaBridge 145:64910690c574 214 /** @defgroup PWR_LL_Exported_Functions PWR Exported Functions
AnnaBridge 145:64910690c574 215 * @{
AnnaBridge 145:64910690c574 216 */
AnnaBridge 145:64910690c574 217
AnnaBridge 145:64910690c574 218 /** @defgroup PWR_LL_EF_Configuration Configuration
AnnaBridge 145:64910690c574 219 * @{
AnnaBridge 145:64910690c574 220 */
AnnaBridge 145:64910690c574 221 #if defined(PWR_CR_FISSR)
AnnaBridge 145:64910690c574 222 /**
AnnaBridge 145:64910690c574 223 * @brief Enable FLASH interface STOP while system Run is ON
AnnaBridge 145:64910690c574 224 * @rmtoll CR FISSR LL_PWR_EnableFLASHInterfaceSTOP
AnnaBridge 145:64910690c574 225 * @note This mode is enabled only with STOP low power mode.
AnnaBridge 145:64910690c574 226 * @retval None
AnnaBridge 145:64910690c574 227 */
AnnaBridge 145:64910690c574 228 __STATIC_INLINE void LL_PWR_EnableFLASHInterfaceSTOP(void)
AnnaBridge 145:64910690c574 229 {
AnnaBridge 145:64910690c574 230 SET_BIT(PWR->CR, PWR_CR_FISSR);
AnnaBridge 145:64910690c574 231 }
AnnaBridge 145:64910690c574 232
AnnaBridge 145:64910690c574 233 /**
AnnaBridge 145:64910690c574 234 * @brief Disable FLASH Interface STOP while system Run is ON
AnnaBridge 145:64910690c574 235 * @rmtoll CR FISSR LL_PWR_DisableFLASHInterfaceSTOP
AnnaBridge 145:64910690c574 236 * @retval None
AnnaBridge 145:64910690c574 237 */
AnnaBridge 145:64910690c574 238 __STATIC_INLINE void LL_PWR_DisableFLASHInterfaceSTOP(void)
AnnaBridge 145:64910690c574 239 {
AnnaBridge 145:64910690c574 240 CLEAR_BIT(PWR->CR, PWR_CR_FISSR);
AnnaBridge 145:64910690c574 241 }
AnnaBridge 145:64910690c574 242
AnnaBridge 145:64910690c574 243 /**
AnnaBridge 145:64910690c574 244 * @brief Check if FLASH Interface STOP while system Run feature is enabled
AnnaBridge 145:64910690c574 245 * @rmtoll CR FISSR LL_PWR_IsEnabledFLASHInterfaceSTOP
AnnaBridge 145:64910690c574 246 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 247 */
AnnaBridge 145:64910690c574 248 __STATIC_INLINE uint32_t LL_PWR_IsEnabledFLASHInterfaceSTOP(void)
AnnaBridge 145:64910690c574 249 {
AnnaBridge 145:64910690c574 250 return (READ_BIT(PWR->CR, PWR_CR_FISSR) == (PWR_CR_FISSR));
AnnaBridge 145:64910690c574 251 }
AnnaBridge 145:64910690c574 252 #endif /* PWR_CR_FISSR */
AnnaBridge 145:64910690c574 253
AnnaBridge 145:64910690c574 254 #if defined(PWR_CR_FMSSR)
AnnaBridge 145:64910690c574 255 /**
AnnaBridge 145:64910690c574 256 * @brief Enable FLASH Memory STOP while system Run is ON
AnnaBridge 145:64910690c574 257 * @rmtoll CR FMSSR LL_PWR_EnableFLASHMemorySTOP
AnnaBridge 145:64910690c574 258 * @note This mode is enabled only with STOP low power mode.
AnnaBridge 145:64910690c574 259 * @retval None
AnnaBridge 145:64910690c574 260 */
AnnaBridge 145:64910690c574 261 __STATIC_INLINE void LL_PWR_EnableFLASHMemorySTOP(void)
AnnaBridge 145:64910690c574 262 {
AnnaBridge 145:64910690c574 263 SET_BIT(PWR->CR, PWR_CR_FMSSR);
AnnaBridge 145:64910690c574 264 }
AnnaBridge 145:64910690c574 265
AnnaBridge 145:64910690c574 266 /**
AnnaBridge 145:64910690c574 267 * @brief Disable FLASH Memory STOP while system Run is ON
AnnaBridge 145:64910690c574 268 * @rmtoll CR FMSSR LL_PWR_DisableFLASHMemorySTOP
AnnaBridge 145:64910690c574 269 * @retval None
AnnaBridge 145:64910690c574 270 */
AnnaBridge 145:64910690c574 271 __STATIC_INLINE void LL_PWR_DisableFLASHMemorySTOP(void)
AnnaBridge 145:64910690c574 272 {
AnnaBridge 145:64910690c574 273 CLEAR_BIT(PWR->CR, PWR_CR_FMSSR);
AnnaBridge 145:64910690c574 274 }
AnnaBridge 145:64910690c574 275
AnnaBridge 145:64910690c574 276 /**
AnnaBridge 145:64910690c574 277 * @brief Check if FLASH Memory STOP while system Run feature is enabled
AnnaBridge 145:64910690c574 278 * @rmtoll CR FMSSR LL_PWR_IsEnabledFLASHMemorySTOP
AnnaBridge 145:64910690c574 279 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 280 */
AnnaBridge 145:64910690c574 281 __STATIC_INLINE uint32_t LL_PWR_IsEnabledFLASHMemorySTOP(void)
AnnaBridge 145:64910690c574 282 {
AnnaBridge 145:64910690c574 283 return (READ_BIT(PWR->CR, PWR_CR_FMSSR) == (PWR_CR_FMSSR));
AnnaBridge 145:64910690c574 284 }
AnnaBridge 145:64910690c574 285 #endif /* PWR_CR_FMSSR */
AnnaBridge 145:64910690c574 286 #if defined(PWR_CR_UDEN)
AnnaBridge 145:64910690c574 287 /**
AnnaBridge 145:64910690c574 288 * @brief Enable Under Drive Mode
AnnaBridge 145:64910690c574 289 * @rmtoll CR UDEN LL_PWR_EnableUnderDriveMode
AnnaBridge 145:64910690c574 290 * @note This mode is enabled only with STOP low power mode.
AnnaBridge 145:64910690c574 291 * In this mode, the 1.2V domain is preserved in reduced leakage mode. This
AnnaBridge 145:64910690c574 292 * mode is only available when the main Regulator or the low power Regulator
AnnaBridge 145:64910690c574 293 * is in low voltage mode.
AnnaBridge 145:64910690c574 294 * @note If the Under-drive mode was enabled, it is automatically disabled after
AnnaBridge 145:64910690c574 295 * exiting Stop mode.
AnnaBridge 145:64910690c574 296 * When the voltage Regulator operates in Under-drive mode, an additional
AnnaBridge 145:64910690c574 297 * startup delay is induced when waking up from Stop mode.
AnnaBridge 145:64910690c574 298 * @retval None
AnnaBridge 145:64910690c574 299 */
AnnaBridge 145:64910690c574 300 __STATIC_INLINE void LL_PWR_EnableUnderDriveMode(void)
AnnaBridge 145:64910690c574 301 {
AnnaBridge 145:64910690c574 302 SET_BIT(PWR->CR, PWR_CR_UDEN);
AnnaBridge 145:64910690c574 303 }
AnnaBridge 145:64910690c574 304
AnnaBridge 145:64910690c574 305 /**
AnnaBridge 145:64910690c574 306 * @brief Disable Under Drive Mode
AnnaBridge 145:64910690c574 307 * @rmtoll CR UDEN LL_PWR_DisableUnderDriveMode
AnnaBridge 145:64910690c574 308 * @retval None
AnnaBridge 145:64910690c574 309 */
AnnaBridge 145:64910690c574 310 __STATIC_INLINE void LL_PWR_DisableUnderDriveMode(void)
AnnaBridge 145:64910690c574 311 {
AnnaBridge 145:64910690c574 312 CLEAR_BIT(PWR->CR, PWR_CR_UDEN);
AnnaBridge 145:64910690c574 313 }
AnnaBridge 145:64910690c574 314
AnnaBridge 145:64910690c574 315 /**
AnnaBridge 145:64910690c574 316 * @brief Check if Under Drive Mode is enabled
AnnaBridge 145:64910690c574 317 * @rmtoll CR UDEN LL_PWR_IsEnabledUnderDriveMode
AnnaBridge 145:64910690c574 318 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 319 */
AnnaBridge 145:64910690c574 320 __STATIC_INLINE uint32_t LL_PWR_IsEnabledUnderDriveMode(void)
AnnaBridge 145:64910690c574 321 {
AnnaBridge 145:64910690c574 322 return (READ_BIT(PWR->CR, PWR_CR_UDEN) == (PWR_CR_UDEN));
AnnaBridge 145:64910690c574 323 }
AnnaBridge 145:64910690c574 324 #endif /* PWR_CR_UDEN */
AnnaBridge 145:64910690c574 325
AnnaBridge 145:64910690c574 326 #if defined(PWR_CR_ODSWEN)
AnnaBridge 145:64910690c574 327 /**
AnnaBridge 145:64910690c574 328 * @brief Enable Over drive switching
AnnaBridge 145:64910690c574 329 * @rmtoll CR ODSWEN LL_PWR_EnableOverDriveSwitching
AnnaBridge 145:64910690c574 330 * @retval None
AnnaBridge 145:64910690c574 331 */
AnnaBridge 145:64910690c574 332 __STATIC_INLINE void LL_PWR_EnableOverDriveSwitching(void)
AnnaBridge 145:64910690c574 333 {
AnnaBridge 145:64910690c574 334 SET_BIT(PWR->CR, PWR_CR_ODSWEN);
AnnaBridge 145:64910690c574 335 }
AnnaBridge 145:64910690c574 336
AnnaBridge 145:64910690c574 337 /**
AnnaBridge 145:64910690c574 338 * @brief Disable Over drive switching
AnnaBridge 145:64910690c574 339 * @rmtoll CR ODSWEN LL_PWR_DisableOverDriveSwitching
AnnaBridge 145:64910690c574 340 * @retval None
AnnaBridge 145:64910690c574 341 */
AnnaBridge 145:64910690c574 342 __STATIC_INLINE void LL_PWR_DisableOverDriveSwitching(void)
AnnaBridge 145:64910690c574 343 {
AnnaBridge 145:64910690c574 344 CLEAR_BIT(PWR->CR, PWR_CR_ODSWEN);
AnnaBridge 145:64910690c574 345 }
AnnaBridge 145:64910690c574 346
AnnaBridge 145:64910690c574 347 /**
AnnaBridge 145:64910690c574 348 * @brief Check if Over drive switching is enabled
AnnaBridge 145:64910690c574 349 * @rmtoll CR ODSWEN LL_PWR_IsEnabledOverDriveSwitching
AnnaBridge 145:64910690c574 350 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 351 */
AnnaBridge 145:64910690c574 352 __STATIC_INLINE uint32_t LL_PWR_IsEnabledOverDriveSwitching(void)
AnnaBridge 145:64910690c574 353 {
AnnaBridge 145:64910690c574 354 return (READ_BIT(PWR->CR, PWR_CR_ODSWEN) == (PWR_CR_ODSWEN));
AnnaBridge 145:64910690c574 355 }
AnnaBridge 145:64910690c574 356 #endif /* PWR_CR_ODSWEN */
AnnaBridge 145:64910690c574 357 #if defined(PWR_CR_ODEN)
AnnaBridge 145:64910690c574 358 /**
AnnaBridge 145:64910690c574 359 * @brief Enable Over drive Mode
AnnaBridge 145:64910690c574 360 * @rmtoll CR ODEN LL_PWR_EnableOverDriveMode
AnnaBridge 145:64910690c574 361 * @retval None
AnnaBridge 145:64910690c574 362 */
AnnaBridge 145:64910690c574 363 __STATIC_INLINE void LL_PWR_EnableOverDriveMode(void)
AnnaBridge 145:64910690c574 364 {
AnnaBridge 145:64910690c574 365 SET_BIT(PWR->CR, PWR_CR_ODEN);
AnnaBridge 145:64910690c574 366 }
AnnaBridge 145:64910690c574 367
AnnaBridge 145:64910690c574 368 /**
AnnaBridge 145:64910690c574 369 * @brief Disable Over drive Mode
AnnaBridge 145:64910690c574 370 * @rmtoll CR ODEN LL_PWR_DisableOverDriveMode
AnnaBridge 145:64910690c574 371 * @retval None
AnnaBridge 145:64910690c574 372 */
AnnaBridge 145:64910690c574 373 __STATIC_INLINE void LL_PWR_DisableOverDriveMode(void)
AnnaBridge 145:64910690c574 374 {
AnnaBridge 145:64910690c574 375 CLEAR_BIT(PWR->CR, PWR_CR_ODEN);
AnnaBridge 145:64910690c574 376 }
AnnaBridge 145:64910690c574 377
AnnaBridge 145:64910690c574 378 /**
AnnaBridge 145:64910690c574 379 * @brief Check if Over drive switching is enabled
AnnaBridge 145:64910690c574 380 * @rmtoll CR ODEN LL_PWR_IsEnabledOverDriveMode
AnnaBridge 145:64910690c574 381 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 382 */
AnnaBridge 145:64910690c574 383 __STATIC_INLINE uint32_t LL_PWR_IsEnabledOverDriveMode(void)
AnnaBridge 145:64910690c574 384 {
AnnaBridge 145:64910690c574 385 return (READ_BIT(PWR->CR, PWR_CR_ODEN) == (PWR_CR_ODEN));
AnnaBridge 145:64910690c574 386 }
AnnaBridge 145:64910690c574 387 #endif /* PWR_CR_ODEN */
AnnaBridge 145:64910690c574 388 #if defined(PWR_CR_MRUDS)
AnnaBridge 145:64910690c574 389 /**
AnnaBridge 145:64910690c574 390 * @brief Enable Main Regulator in deepsleep under-drive Mode
AnnaBridge 145:64910690c574 391 * @rmtoll CR MRUDS LL_PWR_EnableMainRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 392 * @retval None
AnnaBridge 145:64910690c574 393 */
AnnaBridge 145:64910690c574 394 __STATIC_INLINE void LL_PWR_EnableMainRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 395 {
AnnaBridge 145:64910690c574 396 SET_BIT(PWR->CR, PWR_CR_MRUDS);
AnnaBridge 145:64910690c574 397 }
AnnaBridge 145:64910690c574 398
AnnaBridge 145:64910690c574 399 /**
AnnaBridge 145:64910690c574 400 * @brief Disable Main Regulator in deepsleep under-drive Mode
AnnaBridge 145:64910690c574 401 * @rmtoll CR MRUDS LL_PWR_DisableMainRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 402 * @retval None
AnnaBridge 145:64910690c574 403 */
AnnaBridge 145:64910690c574 404 __STATIC_INLINE void LL_PWR_DisableMainRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 405 {
AnnaBridge 145:64910690c574 406 CLEAR_BIT(PWR->CR, PWR_CR_MRUDS);
AnnaBridge 145:64910690c574 407 }
AnnaBridge 145:64910690c574 408
AnnaBridge 145:64910690c574 409 /**
AnnaBridge 145:64910690c574 410 * @brief Check if Main Regulator in deepsleep under-drive Mode is enabled
AnnaBridge 145:64910690c574 411 * @rmtoll CR MRUDS LL_PWR_IsEnabledMainRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 412 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 413 */
AnnaBridge 145:64910690c574 414 __STATIC_INLINE uint32_t LL_PWR_IsEnabledMainRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 415 {
AnnaBridge 145:64910690c574 416 return (READ_BIT(PWR->CR, PWR_CR_MRUDS) == (PWR_CR_MRUDS));
AnnaBridge 145:64910690c574 417 }
AnnaBridge 145:64910690c574 418 #endif /* PWR_CR_MRUDS */
AnnaBridge 145:64910690c574 419
AnnaBridge 145:64910690c574 420 #if defined(PWR_CR_LPUDS)
AnnaBridge 145:64910690c574 421 /**
AnnaBridge 145:64910690c574 422 * @brief Enable Low Power Regulator in deepsleep under-drive Mode
AnnaBridge 145:64910690c574 423 * @rmtoll CR LPUDS LL_PWR_EnableLowPowerRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 424 * @retval None
AnnaBridge 145:64910690c574 425 */
AnnaBridge 145:64910690c574 426 __STATIC_INLINE void LL_PWR_EnableLowPowerRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 427 {
AnnaBridge 145:64910690c574 428 SET_BIT(PWR->CR, PWR_CR_LPUDS);
AnnaBridge 145:64910690c574 429 }
AnnaBridge 145:64910690c574 430
AnnaBridge 145:64910690c574 431 /**
AnnaBridge 145:64910690c574 432 * @brief Disable Low Power Regulator in deepsleep under-drive Mode
AnnaBridge 145:64910690c574 433 * @rmtoll CR LPUDS LL_PWR_DisableLowPowerRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 434 * @retval None
AnnaBridge 145:64910690c574 435 */
AnnaBridge 145:64910690c574 436 __STATIC_INLINE void LL_PWR_DisableLowPowerRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 437 {
AnnaBridge 145:64910690c574 438 CLEAR_BIT(PWR->CR, PWR_CR_LPUDS);
AnnaBridge 145:64910690c574 439 }
AnnaBridge 145:64910690c574 440
AnnaBridge 145:64910690c574 441 /**
AnnaBridge 145:64910690c574 442 * @brief Check if Low Power Regulator in deepsleep under-drive Mode is enabled
AnnaBridge 145:64910690c574 443 * @rmtoll CR LPUDS LL_PWR_IsEnabledLowPowerRegulatorDeepSleepUDMode
AnnaBridge 145:64910690c574 444 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 445 */
AnnaBridge 145:64910690c574 446 __STATIC_INLINE uint32_t LL_PWR_IsEnabledLowPowerRegulatorDeepSleepUDMode(void)
AnnaBridge 145:64910690c574 447 {
AnnaBridge 145:64910690c574 448 return (READ_BIT(PWR->CR, PWR_CR_LPUDS) == (PWR_CR_LPUDS));
AnnaBridge 145:64910690c574 449 }
AnnaBridge 145:64910690c574 450 #endif /* PWR_CR_LPUDS */
AnnaBridge 145:64910690c574 451
AnnaBridge 145:64910690c574 452 #if defined(PWR_CR_MRLVDS)
AnnaBridge 145:64910690c574 453 /**
AnnaBridge 145:64910690c574 454 * @brief Enable Main Regulator low voltage Mode
AnnaBridge 145:64910690c574 455 * @rmtoll CR MRLVDS LL_PWR_EnableMainRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 456 * @retval None
AnnaBridge 145:64910690c574 457 */
AnnaBridge 145:64910690c574 458 __STATIC_INLINE void LL_PWR_EnableMainRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 459 {
AnnaBridge 145:64910690c574 460 SET_BIT(PWR->CR, PWR_CR_MRLVDS);
AnnaBridge 145:64910690c574 461 }
AnnaBridge 145:64910690c574 462
AnnaBridge 145:64910690c574 463 /**
AnnaBridge 145:64910690c574 464 * @brief Disable Main Regulator low voltage Mode
AnnaBridge 145:64910690c574 465 * @rmtoll CR MRLVDS LL_PWR_DisableMainRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 466 * @retval None
AnnaBridge 145:64910690c574 467 */
AnnaBridge 145:64910690c574 468 __STATIC_INLINE void LL_PWR_DisableMainRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 469 {
AnnaBridge 145:64910690c574 470 CLEAR_BIT(PWR->CR, PWR_CR_MRLVDS);
AnnaBridge 145:64910690c574 471 }
AnnaBridge 145:64910690c574 472
AnnaBridge 145:64910690c574 473 /**
AnnaBridge 145:64910690c574 474 * @brief Check if Main Regulator low voltage Mode is enabled
AnnaBridge 145:64910690c574 475 * @rmtoll CR MRLVDS LL_PWR_IsEnabledMainRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 476 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 477 */
AnnaBridge 145:64910690c574 478 __STATIC_INLINE uint32_t LL_PWR_IsEnabledMainRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 479 {
AnnaBridge 145:64910690c574 480 return (READ_BIT(PWR->CR, PWR_CR_MRLVDS) == (PWR_CR_MRLVDS));
AnnaBridge 145:64910690c574 481 }
AnnaBridge 145:64910690c574 482 #endif /* PWR_CR_MRLVDS */
AnnaBridge 145:64910690c574 483
AnnaBridge 145:64910690c574 484 #if defined(PWR_CR_LPLVDS)
AnnaBridge 145:64910690c574 485 /**
AnnaBridge 145:64910690c574 486 * @brief Enable Low Power Regulator low voltage Mode
AnnaBridge 145:64910690c574 487 * @rmtoll CR LPLVDS LL_PWR_EnableLowPowerRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 488 * @retval None
AnnaBridge 145:64910690c574 489 */
AnnaBridge 145:64910690c574 490 __STATIC_INLINE void LL_PWR_EnableLowPowerRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 491 {
AnnaBridge 145:64910690c574 492 SET_BIT(PWR->CR, PWR_CR_LPLVDS);
AnnaBridge 145:64910690c574 493 }
AnnaBridge 145:64910690c574 494
AnnaBridge 145:64910690c574 495 /**
AnnaBridge 145:64910690c574 496 * @brief Disable Low Power Regulator low voltage Mode
AnnaBridge 145:64910690c574 497 * @rmtoll CR LPLVDS LL_PWR_DisableLowPowerRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 498 * @retval None
AnnaBridge 145:64910690c574 499 */
AnnaBridge 145:64910690c574 500 __STATIC_INLINE void LL_PWR_DisableLowPowerRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 501 {
AnnaBridge 145:64910690c574 502 CLEAR_BIT(PWR->CR, PWR_CR_LPLVDS);
AnnaBridge 145:64910690c574 503 }
AnnaBridge 145:64910690c574 504
AnnaBridge 145:64910690c574 505 /**
AnnaBridge 145:64910690c574 506 * @brief Check if Low Power Regulator low voltage Mode is enabled
AnnaBridge 145:64910690c574 507 * @rmtoll CR LPLVDS LL_PWR_IsEnabledLowPowerRegulatorLowVoltageMode
AnnaBridge 145:64910690c574 508 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 509 */
AnnaBridge 145:64910690c574 510 __STATIC_INLINE uint32_t LL_PWR_IsEnabledLowPowerRegulatorLowVoltageMode(void)
AnnaBridge 145:64910690c574 511 {
AnnaBridge 145:64910690c574 512 return (READ_BIT(PWR->CR, PWR_CR_LPLVDS) == (PWR_CR_LPLVDS));
AnnaBridge 145:64910690c574 513 }
AnnaBridge 145:64910690c574 514 #endif /* PWR_CR_LPLVDS */
AnnaBridge 145:64910690c574 515 /**
AnnaBridge 145:64910690c574 516 * @brief Set the main internal Regulator output voltage
AnnaBridge 145:64910690c574 517 * @rmtoll CR VOS LL_PWR_SetRegulVoltageScaling
AnnaBridge 145:64910690c574 518 * @param VoltageScaling This parameter can be one of the following values:
AnnaBridge 145:64910690c574 519 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE1 (*)
AnnaBridge 145:64910690c574 520 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE2
AnnaBridge 145:64910690c574 521 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE3
AnnaBridge 145:64910690c574 522 * (*) LL_PWR_REGU_VOLTAGE_SCALE1 is not available for STM32F401xx devices
AnnaBridge 145:64910690c574 523 * @retval None
AnnaBridge 145:64910690c574 524 */
AnnaBridge 145:64910690c574 525 __STATIC_INLINE void LL_PWR_SetRegulVoltageScaling(uint32_t VoltageScaling)
AnnaBridge 145:64910690c574 526 {
AnnaBridge 145:64910690c574 527 MODIFY_REG(PWR->CR, PWR_CR_VOS, VoltageScaling);
AnnaBridge 145:64910690c574 528 }
AnnaBridge 145:64910690c574 529
AnnaBridge 145:64910690c574 530 /**
AnnaBridge 145:64910690c574 531 * @brief Get the main internal Regulator output voltage
AnnaBridge 145:64910690c574 532 * @rmtoll CR VOS LL_PWR_GetRegulVoltageScaling
AnnaBridge 145:64910690c574 533 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 534 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE1 (*)
AnnaBridge 145:64910690c574 535 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE2
AnnaBridge 145:64910690c574 536 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE3
AnnaBridge 145:64910690c574 537 * (*) LL_PWR_REGU_VOLTAGE_SCALE1 is not available for STM32F401xx devices
AnnaBridge 145:64910690c574 538 */
AnnaBridge 145:64910690c574 539 __STATIC_INLINE uint32_t LL_PWR_GetRegulVoltageScaling(void)
AnnaBridge 145:64910690c574 540 {
AnnaBridge 145:64910690c574 541 return (uint32_t)(READ_BIT(PWR->CR, PWR_CR_VOS));
AnnaBridge 145:64910690c574 542 }
AnnaBridge 145:64910690c574 543 /**
AnnaBridge 145:64910690c574 544 * @brief Enable the Flash Power Down in Stop Mode
AnnaBridge 145:64910690c574 545 * @rmtoll CR FPDS LL_PWR_EnableFlashPowerDown
AnnaBridge 145:64910690c574 546 * @retval None
AnnaBridge 145:64910690c574 547 */
AnnaBridge 145:64910690c574 548 __STATIC_INLINE void LL_PWR_EnableFlashPowerDown(void)
AnnaBridge 145:64910690c574 549 {
AnnaBridge 145:64910690c574 550 SET_BIT(PWR->CR, PWR_CR_FPDS);
AnnaBridge 145:64910690c574 551 }
AnnaBridge 145:64910690c574 552
AnnaBridge 145:64910690c574 553 /**
AnnaBridge 145:64910690c574 554 * @brief Disable the Flash Power Down in Stop Mode
AnnaBridge 145:64910690c574 555 * @rmtoll CR FPDS LL_PWR_DisableFlashPowerDown
AnnaBridge 145:64910690c574 556 * @retval None
AnnaBridge 145:64910690c574 557 */
AnnaBridge 145:64910690c574 558 __STATIC_INLINE void LL_PWR_DisableFlashPowerDown(void)
AnnaBridge 145:64910690c574 559 {
AnnaBridge 145:64910690c574 560 CLEAR_BIT(PWR->CR, PWR_CR_FPDS);
AnnaBridge 145:64910690c574 561 }
AnnaBridge 145:64910690c574 562
AnnaBridge 145:64910690c574 563 /**
AnnaBridge 145:64910690c574 564 * @brief Check if the Flash Power Down in Stop Mode is enabled
AnnaBridge 145:64910690c574 565 * @rmtoll CR FPDS LL_PWR_IsEnabledFlashPowerDown
AnnaBridge 145:64910690c574 566 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 567 */
AnnaBridge 145:64910690c574 568 __STATIC_INLINE uint32_t LL_PWR_IsEnabledFlashPowerDown(void)
AnnaBridge 145:64910690c574 569 {
AnnaBridge 145:64910690c574 570 return (READ_BIT(PWR->CR, PWR_CR_FPDS) == (PWR_CR_FPDS));
AnnaBridge 145:64910690c574 571 }
AnnaBridge 145:64910690c574 572
AnnaBridge 145:64910690c574 573 /**
AnnaBridge 145:64910690c574 574 * @brief Enable access to the backup domain
AnnaBridge 145:64910690c574 575 * @rmtoll CR DBP LL_PWR_EnableBkUpAccess
AnnaBridge 145:64910690c574 576 * @retval None
AnnaBridge 145:64910690c574 577 */
AnnaBridge 145:64910690c574 578 __STATIC_INLINE void LL_PWR_EnableBkUpAccess(void)
AnnaBridge 145:64910690c574 579 {
AnnaBridge 145:64910690c574 580 SET_BIT(PWR->CR, PWR_CR_DBP);
AnnaBridge 145:64910690c574 581 }
AnnaBridge 145:64910690c574 582
AnnaBridge 145:64910690c574 583 /**
AnnaBridge 145:64910690c574 584 * @brief Disable access to the backup domain
AnnaBridge 145:64910690c574 585 * @rmtoll CR DBP LL_PWR_DisableBkUpAccess
AnnaBridge 145:64910690c574 586 * @retval None
AnnaBridge 145:64910690c574 587 */
AnnaBridge 145:64910690c574 588 __STATIC_INLINE void LL_PWR_DisableBkUpAccess(void)
AnnaBridge 145:64910690c574 589 {
AnnaBridge 145:64910690c574 590 CLEAR_BIT(PWR->CR, PWR_CR_DBP);
AnnaBridge 145:64910690c574 591 }
AnnaBridge 145:64910690c574 592
AnnaBridge 145:64910690c574 593 /**
AnnaBridge 145:64910690c574 594 * @brief Check if the backup domain is enabled
AnnaBridge 145:64910690c574 595 * @rmtoll CR DBP LL_PWR_IsEnabledBkUpAccess
AnnaBridge 145:64910690c574 596 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 597 */
AnnaBridge 145:64910690c574 598 __STATIC_INLINE uint32_t LL_PWR_IsEnabledBkUpAccess(void)
AnnaBridge 145:64910690c574 599 {
AnnaBridge 145:64910690c574 600 return (READ_BIT(PWR->CR, PWR_CR_DBP) == (PWR_CR_DBP));
AnnaBridge 145:64910690c574 601 }
AnnaBridge 145:64910690c574 602 /**
AnnaBridge 145:64910690c574 603 * @brief Enable the backup Regulator
AnnaBridge 145:64910690c574 604 * @rmtoll CSR BRE LL_PWR_EnableBkUpRegulator
AnnaBridge 145:64910690c574 605 * @note The BRE bit of the PWR_CSR register is protected against parasitic write access.
AnnaBridge 145:64910690c574 606 * The LL_PWR_EnableBkUpAccess() must be called before using this API.
AnnaBridge 145:64910690c574 607 * @retval None
AnnaBridge 145:64910690c574 608 */
AnnaBridge 145:64910690c574 609 __STATIC_INLINE void LL_PWR_EnableBkUpRegulator(void)
AnnaBridge 145:64910690c574 610 {
AnnaBridge 145:64910690c574 611 SET_BIT(PWR->CSR, PWR_CSR_BRE);
AnnaBridge 145:64910690c574 612 }
AnnaBridge 145:64910690c574 613
AnnaBridge 145:64910690c574 614 /**
AnnaBridge 145:64910690c574 615 * @brief Disable the backup Regulator
AnnaBridge 145:64910690c574 616 * @rmtoll CSR BRE LL_PWR_DisableBkUpRegulator
AnnaBridge 145:64910690c574 617 * @note The BRE bit of the PWR_CSR register is protected against parasitic write access.
AnnaBridge 145:64910690c574 618 * The LL_PWR_EnableBkUpAccess() must be called before using this API.
AnnaBridge 145:64910690c574 619 * @retval None
AnnaBridge 145:64910690c574 620 */
AnnaBridge 145:64910690c574 621 __STATIC_INLINE void LL_PWR_DisableBkUpRegulator(void)
AnnaBridge 145:64910690c574 622 {
AnnaBridge 145:64910690c574 623 CLEAR_BIT(PWR->CSR, PWR_CSR_BRE);
AnnaBridge 145:64910690c574 624 }
AnnaBridge 145:64910690c574 625
AnnaBridge 145:64910690c574 626 /**
AnnaBridge 145:64910690c574 627 * @brief Check if the backup Regulator is enabled
AnnaBridge 145:64910690c574 628 * @rmtoll CSR BRE LL_PWR_IsEnabledBkUpRegulator
AnnaBridge 145:64910690c574 629 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 630 */
AnnaBridge 145:64910690c574 631 __STATIC_INLINE uint32_t LL_PWR_IsEnabledBkUpRegulator(void)
AnnaBridge 145:64910690c574 632 {
AnnaBridge 145:64910690c574 633 return (READ_BIT(PWR->CSR, PWR_CSR_BRE) == (PWR_CSR_BRE));
AnnaBridge 145:64910690c574 634 }
AnnaBridge 145:64910690c574 635
AnnaBridge 145:64910690c574 636 /**
AnnaBridge 145:64910690c574 637 * @brief Set voltage Regulator mode during deep sleep mode
AnnaBridge 145:64910690c574 638 * @rmtoll CR LPDS LL_PWR_SetRegulModeDS
AnnaBridge 145:64910690c574 639 * @param RegulMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 640 * @arg @ref LL_PWR_REGU_DSMODE_MAIN
AnnaBridge 145:64910690c574 641 * @arg @ref LL_PWR_REGU_DSMODE_LOW_POWER
AnnaBridge 145:64910690c574 642 * @retval None
AnnaBridge 145:64910690c574 643 */
AnnaBridge 145:64910690c574 644 __STATIC_INLINE void LL_PWR_SetRegulModeDS(uint32_t RegulMode)
AnnaBridge 145:64910690c574 645 {
AnnaBridge 145:64910690c574 646 MODIFY_REG(PWR->CR, PWR_CR_LPDS, RegulMode);
AnnaBridge 145:64910690c574 647 }
AnnaBridge 145:64910690c574 648
AnnaBridge 145:64910690c574 649 /**
AnnaBridge 145:64910690c574 650 * @brief Get voltage Regulator mode during deep sleep mode
AnnaBridge 145:64910690c574 651 * @rmtoll CR LPDS LL_PWR_GetRegulModeDS
AnnaBridge 145:64910690c574 652 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 653 * @arg @ref LL_PWR_REGU_DSMODE_MAIN
AnnaBridge 145:64910690c574 654 * @arg @ref LL_PWR_REGU_DSMODE_LOW_POWER
AnnaBridge 145:64910690c574 655 */
AnnaBridge 145:64910690c574 656 __STATIC_INLINE uint32_t LL_PWR_GetRegulModeDS(void)
AnnaBridge 145:64910690c574 657 {
AnnaBridge 145:64910690c574 658 return (uint32_t)(READ_BIT(PWR->CR, PWR_CR_LPDS));
AnnaBridge 145:64910690c574 659 }
AnnaBridge 145:64910690c574 660
AnnaBridge 145:64910690c574 661 /**
AnnaBridge 145:64910690c574 662 * @brief Set Power Down mode when CPU enters deepsleep
AnnaBridge 145:64910690c574 663 * @rmtoll CR PDDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 664 * @rmtoll CR MRUDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 665 * @rmtoll CR LPUDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 666 * @rmtoll CR FPDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 667 * @rmtoll CR MRLVDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 668 * @rmtoll CR LPlVDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 669 * @rmtoll CR FPDS LL_PWR_SetPowerMode\n
AnnaBridge 145:64910690c574 670 * @rmtoll CR LPDS LL_PWR_SetPowerMode
AnnaBridge 145:64910690c574 671 * @param PDMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 672 * @arg @ref LL_PWR_MODE_STOP_MAINREGU
AnnaBridge 145:64910690c574 673 * @arg @ref LL_PWR_MODE_STOP_LPREGU
AnnaBridge 145:64910690c574 674 * @arg @ref LL_PWR_MODE_STOP_MAINREGU_UNDERDRIVE (*)
AnnaBridge 145:64910690c574 675 * @arg @ref LL_PWR_MODE_STOP_LPREGU_UNDERDRIVE (*)
AnnaBridge 145:64910690c574 676 * @arg @ref LL_PWR_MODE_STOP_MAINREGU_DEEPSLEEP (*)
AnnaBridge 145:64910690c574 677 * @arg @ref LL_PWR_MODE_STOP_LPREGU_DEEPSLEEP (*)
AnnaBridge 145:64910690c574 678 *
AnnaBridge 145:64910690c574 679 * (*) not available on all devices
AnnaBridge 145:64910690c574 680 * @arg @ref LL_PWR_MODE_STANDBY
AnnaBridge 145:64910690c574 681 * @retval None
AnnaBridge 145:64910690c574 682 */
AnnaBridge 145:64910690c574 683 __STATIC_INLINE void LL_PWR_SetPowerMode(uint32_t PDMode)
AnnaBridge 145:64910690c574 684 {
AnnaBridge 145:64910690c574 685 #if defined(PWR_CR_MRUDS) && defined(PWR_CR_LPUDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 686 MODIFY_REG(PWR->CR, (PWR_CR_PDDS | PWR_CR_LPDS | PWR_CR_FPDS | PWR_CR_LPUDS | PWR_CR_MRUDS), PDMode);
AnnaBridge 145:64910690c574 687 #elif defined(PWR_CR_MRLVDS) && defined(PWR_CR_LPLVDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 688 MODIFY_REG(PWR->CR, (PWR_CR_PDDS | PWR_CR_LPDS | PWR_CR_FPDS | PWR_CR_LPLVDS | PWR_CR_MRLVDS), PDMode);
AnnaBridge 145:64910690c574 689 #else
AnnaBridge 145:64910690c574 690 MODIFY_REG(PWR->CR, (PWR_CR_PDDS| PWR_CR_LPDS), PDMode);
AnnaBridge 145:64910690c574 691 #endif /* PWR_CR_MRUDS && PWR_CR_LPUDS && PWR_CR_FPDS */
AnnaBridge 145:64910690c574 692 }
AnnaBridge 145:64910690c574 693
AnnaBridge 145:64910690c574 694 /**
AnnaBridge 145:64910690c574 695 * @brief Get Power Down mode when CPU enters deepsleep
AnnaBridge 145:64910690c574 696 * @rmtoll CR PDDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 697 * @rmtoll CR MRUDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 698 * @rmtoll CR LPUDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 699 * @rmtoll CR FPDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 700 * @rmtoll CR MRLVDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 701 * @rmtoll CR LPLVDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 702 * @rmtoll CR FPDS LL_PWR_GetPowerMode\n
AnnaBridge 145:64910690c574 703 * @rmtoll CR LPDS LL_PWR_GetPowerMode
AnnaBridge 145:64910690c574 704 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 705 * @arg @ref LL_PWR_MODE_STOP_MAINREGU
AnnaBridge 145:64910690c574 706 * @arg @ref LL_PWR_MODE_STOP_LPREGU
AnnaBridge 145:64910690c574 707 * @arg @ref LL_PWR_MODE_STOP_MAINREGU_UNDERDRIVE (*)
AnnaBridge 145:64910690c574 708 * @arg @ref LL_PWR_MODE_STOP_LPREGU_UNDERDRIVE (*)
AnnaBridge 145:64910690c574 709 * @arg @ref LL_PWR_MODE_STOP_MAINREGU_DEEPSLEEP (*)
AnnaBridge 145:64910690c574 710 * @arg @ref LL_PWR_MODE_STOP_LPREGU_DEEPSLEEP (*)
AnnaBridge 145:64910690c574 711 *
AnnaBridge 145:64910690c574 712 * (*) not available on all devices
AnnaBridge 145:64910690c574 713 * @arg @ref LL_PWR_MODE_STANDBY
AnnaBridge 145:64910690c574 714 */
AnnaBridge 145:64910690c574 715 __STATIC_INLINE uint32_t LL_PWR_GetPowerMode(void)
AnnaBridge 145:64910690c574 716 {
AnnaBridge 145:64910690c574 717 #if defined(PWR_CR_MRUDS) && defined(PWR_CR_LPUDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 718 return (uint32_t)(READ_BIT(PWR->CR, (PWR_CR_PDDS | PWR_CR_LPDS | PWR_CR_FPDS | PWR_CR_LPUDS | PWR_CR_MRUDS)));
AnnaBridge 145:64910690c574 719 #elif defined(PWR_CR_MRLVDS) && defined(PWR_CR_LPLVDS) && defined(PWR_CR_FPDS)
AnnaBridge 145:64910690c574 720 return (uint32_t)(READ_BIT(PWR->CR, (PWR_CR_PDDS | PWR_CR_LPDS | PWR_CR_FPDS | PWR_CR_LPLVDS | PWR_CR_MRLVDS)));
AnnaBridge 145:64910690c574 721 #else
AnnaBridge 145:64910690c574 722 return (uint32_t)(READ_BIT(PWR->CR, (PWR_CR_PDDS| PWR_CR_LPDS)));
AnnaBridge 145:64910690c574 723 #endif /* PWR_CR_MRUDS && PWR_CR_LPUDS && PWR_CR_FPDS */
AnnaBridge 145:64910690c574 724 }
AnnaBridge 145:64910690c574 725
AnnaBridge 145:64910690c574 726 /**
AnnaBridge 145:64910690c574 727 * @brief Configure the voltage threshold detected by the Power Voltage Detector
AnnaBridge 145:64910690c574 728 * @rmtoll CR PLS LL_PWR_SetPVDLevel
AnnaBridge 145:64910690c574 729 * @param PVDLevel This parameter can be one of the following values:
AnnaBridge 145:64910690c574 730 * @arg @ref LL_PWR_PVDLEVEL_0
AnnaBridge 145:64910690c574 731 * @arg @ref LL_PWR_PVDLEVEL_1
AnnaBridge 145:64910690c574 732 * @arg @ref LL_PWR_PVDLEVEL_2
AnnaBridge 145:64910690c574 733 * @arg @ref LL_PWR_PVDLEVEL_3
AnnaBridge 145:64910690c574 734 * @arg @ref LL_PWR_PVDLEVEL_4
AnnaBridge 145:64910690c574 735 * @arg @ref LL_PWR_PVDLEVEL_5
AnnaBridge 145:64910690c574 736 * @arg @ref LL_PWR_PVDLEVEL_6
AnnaBridge 145:64910690c574 737 * @arg @ref LL_PWR_PVDLEVEL_7
AnnaBridge 145:64910690c574 738 * @retval None
AnnaBridge 145:64910690c574 739 */
AnnaBridge 145:64910690c574 740 __STATIC_INLINE void LL_PWR_SetPVDLevel(uint32_t PVDLevel)
AnnaBridge 145:64910690c574 741 {
AnnaBridge 145:64910690c574 742 MODIFY_REG(PWR->CR, PWR_CR_PLS, PVDLevel);
AnnaBridge 145:64910690c574 743 }
AnnaBridge 145:64910690c574 744
AnnaBridge 145:64910690c574 745 /**
AnnaBridge 145:64910690c574 746 * @brief Get the voltage threshold detection
AnnaBridge 145:64910690c574 747 * @rmtoll CR PLS LL_PWR_GetPVDLevel
AnnaBridge 145:64910690c574 748 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 749 * @arg @ref LL_PWR_PVDLEVEL_0
AnnaBridge 145:64910690c574 750 * @arg @ref LL_PWR_PVDLEVEL_1
AnnaBridge 145:64910690c574 751 * @arg @ref LL_PWR_PVDLEVEL_2
AnnaBridge 145:64910690c574 752 * @arg @ref LL_PWR_PVDLEVEL_3
AnnaBridge 145:64910690c574 753 * @arg @ref LL_PWR_PVDLEVEL_4
AnnaBridge 145:64910690c574 754 * @arg @ref LL_PWR_PVDLEVEL_5
AnnaBridge 145:64910690c574 755 * @arg @ref LL_PWR_PVDLEVEL_6
AnnaBridge 145:64910690c574 756 * @arg @ref LL_PWR_PVDLEVEL_7
AnnaBridge 145:64910690c574 757 */
AnnaBridge 145:64910690c574 758 __STATIC_INLINE uint32_t LL_PWR_GetPVDLevel(void)
AnnaBridge 145:64910690c574 759 {
AnnaBridge 145:64910690c574 760 return (uint32_t)(READ_BIT(PWR->CR, PWR_CR_PLS));
AnnaBridge 145:64910690c574 761 }
AnnaBridge 145:64910690c574 762
AnnaBridge 145:64910690c574 763 /**
AnnaBridge 145:64910690c574 764 * @brief Enable Power Voltage Detector
AnnaBridge 145:64910690c574 765 * @rmtoll CR PVDE LL_PWR_EnablePVD
AnnaBridge 145:64910690c574 766 * @retval None
AnnaBridge 145:64910690c574 767 */
AnnaBridge 145:64910690c574 768 __STATIC_INLINE void LL_PWR_EnablePVD(void)
AnnaBridge 145:64910690c574 769 {
AnnaBridge 145:64910690c574 770 SET_BIT(PWR->CR, PWR_CR_PVDE);
AnnaBridge 145:64910690c574 771 }
AnnaBridge 145:64910690c574 772
AnnaBridge 145:64910690c574 773 /**
AnnaBridge 145:64910690c574 774 * @brief Disable Power Voltage Detector
AnnaBridge 145:64910690c574 775 * @rmtoll CR PVDE LL_PWR_DisablePVD
AnnaBridge 145:64910690c574 776 * @retval None
AnnaBridge 145:64910690c574 777 */
AnnaBridge 145:64910690c574 778 __STATIC_INLINE void LL_PWR_DisablePVD(void)
AnnaBridge 145:64910690c574 779 {
AnnaBridge 145:64910690c574 780 CLEAR_BIT(PWR->CR, PWR_CR_PVDE);
AnnaBridge 145:64910690c574 781 }
AnnaBridge 145:64910690c574 782
AnnaBridge 145:64910690c574 783 /**
AnnaBridge 145:64910690c574 784 * @brief Check if Power Voltage Detector is enabled
AnnaBridge 145:64910690c574 785 * @rmtoll CR PVDE LL_PWR_IsEnabledPVD
AnnaBridge 145:64910690c574 786 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 787 */
AnnaBridge 145:64910690c574 788 __STATIC_INLINE uint32_t LL_PWR_IsEnabledPVD(void)
AnnaBridge 145:64910690c574 789 {
AnnaBridge 145:64910690c574 790 return (READ_BIT(PWR->CR, PWR_CR_PVDE) == (PWR_CR_PVDE));
AnnaBridge 145:64910690c574 791 }
AnnaBridge 145:64910690c574 792
AnnaBridge 145:64910690c574 793 /**
AnnaBridge 145:64910690c574 794 * @brief Enable the WakeUp PINx functionality
AnnaBridge 145:64910690c574 795 * @rmtoll CSR EWUP LL_PWR_EnableWakeUpPin\n
AnnaBridge 145:64910690c574 796 * @rmtoll CSR EWUP1 LL_PWR_EnableWakeUpPin\n
AnnaBridge 145:64910690c574 797 * @rmtoll CSR EWUP2 LL_PWR_EnableWakeUpPin\n
AnnaBridge 145:64910690c574 798 * @rmtoll CSR EWUP3 LL_PWR_EnableWakeUpPin
AnnaBridge 145:64910690c574 799 * @param WakeUpPin This parameter can be one of the following values:
AnnaBridge 145:64910690c574 800 * @arg @ref LL_PWR_WAKEUP_PIN1
AnnaBridge 145:64910690c574 801 * @arg @ref LL_PWR_WAKEUP_PIN2 (*)
AnnaBridge 145:64910690c574 802 * @arg @ref LL_PWR_WAKEUP_PIN3 (*)
AnnaBridge 145:64910690c574 803 *
AnnaBridge 145:64910690c574 804 * (*) not available on all devices
AnnaBridge 145:64910690c574 805 * @retval None
AnnaBridge 145:64910690c574 806 */
AnnaBridge 145:64910690c574 807 __STATIC_INLINE void LL_PWR_EnableWakeUpPin(uint32_t WakeUpPin)
AnnaBridge 145:64910690c574 808 {
AnnaBridge 145:64910690c574 809 SET_BIT(PWR->CSR, WakeUpPin);
AnnaBridge 145:64910690c574 810 }
AnnaBridge 145:64910690c574 811
AnnaBridge 145:64910690c574 812 /**
AnnaBridge 145:64910690c574 813 * @brief Disable the WakeUp PINx functionality
AnnaBridge 145:64910690c574 814 * @rmtoll CSR EWUP LL_PWR_DisableWakeUpPin\n
AnnaBridge 145:64910690c574 815 * @rmtoll CSR EWUP1 LL_PWR_DisableWakeUpPin\n
AnnaBridge 145:64910690c574 816 * @rmtoll CSR EWUP2 LL_PWR_DisableWakeUpPin\n
AnnaBridge 145:64910690c574 817 * @rmtoll CSR EWUP3 LL_PWR_DisableWakeUpPin
AnnaBridge 145:64910690c574 818 * @param WakeUpPin This parameter can be one of the following values:
AnnaBridge 145:64910690c574 819 * @arg @ref LL_PWR_WAKEUP_PIN1
AnnaBridge 145:64910690c574 820 * @arg @ref LL_PWR_WAKEUP_PIN2 (*)
AnnaBridge 145:64910690c574 821 * @arg @ref LL_PWR_WAKEUP_PIN3 (*)
AnnaBridge 145:64910690c574 822 *
AnnaBridge 145:64910690c574 823 * (*) not available on all devices
AnnaBridge 145:64910690c574 824 * @retval None
AnnaBridge 145:64910690c574 825 */
AnnaBridge 145:64910690c574 826 __STATIC_INLINE void LL_PWR_DisableWakeUpPin(uint32_t WakeUpPin)
AnnaBridge 145:64910690c574 827 {
AnnaBridge 145:64910690c574 828 CLEAR_BIT(PWR->CSR, WakeUpPin);
AnnaBridge 145:64910690c574 829 }
AnnaBridge 145:64910690c574 830
AnnaBridge 145:64910690c574 831 /**
AnnaBridge 145:64910690c574 832 * @brief Check if the WakeUp PINx functionality is enabled
AnnaBridge 145:64910690c574 833 * @rmtoll CSR EWUP LL_PWR_IsEnabledWakeUpPin\n
AnnaBridge 145:64910690c574 834 * @rmtoll CSR EWUP1 LL_PWR_IsEnabledWakeUpPin\n
AnnaBridge 145:64910690c574 835 * @rmtoll CSR EWUP2 LL_PWR_IsEnabledWakeUpPin\n
AnnaBridge 145:64910690c574 836 * @rmtoll CSR EWUP3 LL_PWR_IsEnabledWakeUpPin
AnnaBridge 145:64910690c574 837 * @param WakeUpPin This parameter can be one of the following values:
AnnaBridge 145:64910690c574 838 * @arg @ref LL_PWR_WAKEUP_PIN1
AnnaBridge 145:64910690c574 839 * @arg @ref LL_PWR_WAKEUP_PIN2 (*)
AnnaBridge 145:64910690c574 840 * @arg @ref LL_PWR_WAKEUP_PIN3 (*)
AnnaBridge 145:64910690c574 841 *
AnnaBridge 145:64910690c574 842 * (*) not available on all devices
AnnaBridge 145:64910690c574 843 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 844 */
AnnaBridge 145:64910690c574 845 __STATIC_INLINE uint32_t LL_PWR_IsEnabledWakeUpPin(uint32_t WakeUpPin)
AnnaBridge 145:64910690c574 846 {
AnnaBridge 145:64910690c574 847 return (READ_BIT(PWR->CSR, WakeUpPin) == (WakeUpPin));
AnnaBridge 145:64910690c574 848 }
AnnaBridge 145:64910690c574 849
AnnaBridge 145:64910690c574 850
AnnaBridge 145:64910690c574 851 /**
AnnaBridge 145:64910690c574 852 * @}
AnnaBridge 145:64910690c574 853 */
AnnaBridge 145:64910690c574 854
AnnaBridge 145:64910690c574 855 /** @defgroup PWR_LL_EF_FLAG_Management FLAG_Management
AnnaBridge 145:64910690c574 856 * @{
AnnaBridge 145:64910690c574 857 */
AnnaBridge 145:64910690c574 858
AnnaBridge 145:64910690c574 859 /**
AnnaBridge 145:64910690c574 860 * @brief Get Wake-up Flag
AnnaBridge 145:64910690c574 861 * @rmtoll CSR WUF LL_PWR_IsActiveFlag_WU
AnnaBridge 145:64910690c574 862 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 863 */
AnnaBridge 145:64910690c574 864 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU(void)
AnnaBridge 145:64910690c574 865 {
AnnaBridge 145:64910690c574 866 return (READ_BIT(PWR->CSR, PWR_CSR_WUF) == (PWR_CSR_WUF));
AnnaBridge 145:64910690c574 867 }
AnnaBridge 145:64910690c574 868
AnnaBridge 145:64910690c574 869 /**
AnnaBridge 145:64910690c574 870 * @brief Get Standby Flag
AnnaBridge 145:64910690c574 871 * @rmtoll CSR SBF LL_PWR_IsActiveFlag_SB
AnnaBridge 145:64910690c574 872 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 873 */
AnnaBridge 145:64910690c574 874 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_SB(void)
AnnaBridge 145:64910690c574 875 {
AnnaBridge 145:64910690c574 876 return (READ_BIT(PWR->CSR, PWR_CSR_SBF) == (PWR_CSR_SBF));
AnnaBridge 145:64910690c574 877 }
AnnaBridge 145:64910690c574 878
AnnaBridge 145:64910690c574 879 /**
AnnaBridge 145:64910690c574 880 * @brief Get Backup Regulator ready Flag
AnnaBridge 145:64910690c574 881 * @rmtoll CSR BRR LL_PWR_IsActiveFlag_BRR
AnnaBridge 145:64910690c574 882 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 883 */
AnnaBridge 145:64910690c574 884 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_BRR(void)
AnnaBridge 145:64910690c574 885 {
AnnaBridge 145:64910690c574 886 return (READ_BIT(PWR->CSR, PWR_CSR_BRR) == (PWR_CSR_BRR));
AnnaBridge 145:64910690c574 887 }
AnnaBridge 145:64910690c574 888 /**
AnnaBridge 145:64910690c574 889 * @brief Indicate whether VDD voltage is below the selected PVD threshold
AnnaBridge 145:64910690c574 890 * @rmtoll CSR PVDO LL_PWR_IsActiveFlag_PVDO
AnnaBridge 145:64910690c574 891 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 892 */
AnnaBridge 145:64910690c574 893 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVDO(void)
AnnaBridge 145:64910690c574 894 {
AnnaBridge 145:64910690c574 895 return (READ_BIT(PWR->CSR, PWR_CSR_PVDO) == (PWR_CSR_PVDO));
AnnaBridge 145:64910690c574 896 }
AnnaBridge 145:64910690c574 897
AnnaBridge 145:64910690c574 898 /**
AnnaBridge 145:64910690c574 899 * @brief Indicate whether the Regulator is ready in the selected voltage range or if its output voltage is still changing to the required voltage level
AnnaBridge 145:64910690c574 900 * @rmtoll CSR VOS LL_PWR_IsActiveFlag_VOS
AnnaBridge 145:64910690c574 901 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 902 */
AnnaBridge 145:64910690c574 903 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_VOS(void)
AnnaBridge 145:64910690c574 904 {
AnnaBridge 145:64910690c574 905 return (READ_BIT(PWR->CSR, LL_PWR_CSR_VOS) == (LL_PWR_CSR_VOS));
AnnaBridge 145:64910690c574 906 }
AnnaBridge 145:64910690c574 907 #if defined(PWR_CR_ODEN)
AnnaBridge 145:64910690c574 908 /**
AnnaBridge 145:64910690c574 909 * @brief Indicate whether the Over-Drive mode is ready or not
AnnaBridge 145:64910690c574 910 * @rmtoll CSR ODRDY LL_PWR_IsActiveFlag_OD
AnnaBridge 145:64910690c574 911 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 912 */
AnnaBridge 145:64910690c574 913 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_OD(void)
AnnaBridge 145:64910690c574 914 {
AnnaBridge 145:64910690c574 915 return (READ_BIT(PWR->CSR, PWR_CSR_ODRDY) == (PWR_CSR_ODRDY));
AnnaBridge 145:64910690c574 916 }
AnnaBridge 145:64910690c574 917 #endif /* PWR_CR_ODEN */
AnnaBridge 145:64910690c574 918
AnnaBridge 145:64910690c574 919 #if defined(PWR_CR_ODSWEN)
AnnaBridge 145:64910690c574 920 /**
AnnaBridge 145:64910690c574 921 * @brief Indicate whether the Over-Drive mode switching is ready or not
AnnaBridge 145:64910690c574 922 * @rmtoll CSR ODSWRDY LL_PWR_IsActiveFlag_ODSW
AnnaBridge 145:64910690c574 923 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 924 */
AnnaBridge 145:64910690c574 925 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_ODSW(void)
AnnaBridge 145:64910690c574 926 {
AnnaBridge 145:64910690c574 927 return (READ_BIT(PWR->CSR, PWR_CSR_ODSWRDY) == (PWR_CSR_ODSWRDY));
AnnaBridge 145:64910690c574 928 }
AnnaBridge 145:64910690c574 929 #endif /* PWR_CR_ODSWEN */
AnnaBridge 145:64910690c574 930
AnnaBridge 145:64910690c574 931 #if defined(PWR_CR_UDEN)
AnnaBridge 145:64910690c574 932 /**
AnnaBridge 145:64910690c574 933 * @brief Indicate whether the Under-Drive mode is ready or not
AnnaBridge 145:64910690c574 934 * @rmtoll CSR UDRDY LL_PWR_IsActiveFlag_UD
AnnaBridge 145:64910690c574 935 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 936 */
AnnaBridge 145:64910690c574 937 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_UD(void)
AnnaBridge 145:64910690c574 938 {
AnnaBridge 145:64910690c574 939 return (READ_BIT(PWR->CSR, PWR_CSR_UDRDY) == (PWR_CSR_UDRDY));
AnnaBridge 145:64910690c574 940 }
AnnaBridge 145:64910690c574 941 #endif /* PWR_CR_UDEN */
AnnaBridge 145:64910690c574 942 /**
AnnaBridge 145:64910690c574 943 * @brief Clear Standby Flag
AnnaBridge 145:64910690c574 944 * @rmtoll CR CSBF LL_PWR_ClearFlag_SB
AnnaBridge 145:64910690c574 945 * @retval None
AnnaBridge 145:64910690c574 946 */
AnnaBridge 145:64910690c574 947 __STATIC_INLINE void LL_PWR_ClearFlag_SB(void)
AnnaBridge 145:64910690c574 948 {
AnnaBridge 145:64910690c574 949 SET_BIT(PWR->CR, PWR_CR_CSBF);
AnnaBridge 145:64910690c574 950 }
AnnaBridge 145:64910690c574 951
AnnaBridge 145:64910690c574 952 /**
AnnaBridge 145:64910690c574 953 * @brief Clear Wake-up Flags
AnnaBridge 145:64910690c574 954 * @rmtoll CR CWUF LL_PWR_ClearFlag_WU
AnnaBridge 145:64910690c574 955 * @retval None
AnnaBridge 145:64910690c574 956 */
AnnaBridge 145:64910690c574 957 __STATIC_INLINE void LL_PWR_ClearFlag_WU(void)
AnnaBridge 145:64910690c574 958 {
AnnaBridge 145:64910690c574 959 SET_BIT(PWR->CR, PWR_CR_CWUF);
AnnaBridge 145:64910690c574 960 }
AnnaBridge 145:64910690c574 961 #if defined(PWR_CSR_UDRDY)
AnnaBridge 145:64910690c574 962 /**
AnnaBridge 145:64910690c574 963 * @brief Clear Under-Drive ready Flag
AnnaBridge 145:64910690c574 964 * @rmtoll CSR UDRDY LL_PWR_ClearFlag_UD
AnnaBridge 145:64910690c574 965 * @retval None
AnnaBridge 145:64910690c574 966 */
AnnaBridge 145:64910690c574 967 __STATIC_INLINE void LL_PWR_ClearFlag_UD(void)
AnnaBridge 145:64910690c574 968 {
AnnaBridge 145:64910690c574 969 WRITE_REG(PWR->CSR, PWR_CSR_UDRDY);
AnnaBridge 145:64910690c574 970 }
AnnaBridge 145:64910690c574 971 #endif /* PWR_CSR_UDRDY */
AnnaBridge 145:64910690c574 972
AnnaBridge 145:64910690c574 973 /**
AnnaBridge 145:64910690c574 974 * @}
AnnaBridge 145:64910690c574 975 */
AnnaBridge 145:64910690c574 976
AnnaBridge 145:64910690c574 977 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 145:64910690c574 978 /** @defgroup PWR_LL_EF_Init De-initialization function
AnnaBridge 145:64910690c574 979 * @{
AnnaBridge 145:64910690c574 980 */
AnnaBridge 145:64910690c574 981 ErrorStatus LL_PWR_DeInit(void);
AnnaBridge 145:64910690c574 982 /**
AnnaBridge 145:64910690c574 983 * @}
AnnaBridge 145:64910690c574 984 */
AnnaBridge 145:64910690c574 985 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 145:64910690c574 986
AnnaBridge 145:64910690c574 987 /**
AnnaBridge 145:64910690c574 988 * @}
AnnaBridge 145:64910690c574 989 */
AnnaBridge 145:64910690c574 990
AnnaBridge 145:64910690c574 991 /**
AnnaBridge 145:64910690c574 992 * @}
AnnaBridge 145:64910690c574 993 */
AnnaBridge 145:64910690c574 994
AnnaBridge 145:64910690c574 995 #endif /* defined(PWR) */
AnnaBridge 145:64910690c574 996
AnnaBridge 145:64910690c574 997 /**
AnnaBridge 145:64910690c574 998 * @}
AnnaBridge 145:64910690c574 999 */
AnnaBridge 145:64910690c574 1000
AnnaBridge 145:64910690c574 1001 #ifdef __cplusplus
AnnaBridge 145:64910690c574 1002 }
AnnaBridge 145:64910690c574 1003 #endif
AnnaBridge 145:64910690c574 1004
AnnaBridge 145:64910690c574 1005 #endif /* __STM32F4xx_LL_PWR_H */
AnnaBridge 145:64910690c574 1006
AnnaBridge 145:64910690c574 1007 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/