L4 HAL Drivers

Committer:
EricLew
Date:
Mon Nov 02 19:37:23 2015 +0000
Revision:
0:80ee8f3b695e
Errors are with definitions of LCD and QSPI functions. I believe all .h and .c files are  uploaded, but there may need to be certain functions called.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EricLew 0:80ee8f3b695e 1 /**
EricLew 0:80ee8f3b695e 2 ******************************************************************************
EricLew 0:80ee8f3b695e 3 * @file stm32l4xx_ll_pwr.h
EricLew 0:80ee8f3b695e 4 * @author MCD Application Team
EricLew 0:80ee8f3b695e 5 * @version V1.1.0
EricLew 0:80ee8f3b695e 6 * @date 16-September-2015
EricLew 0:80ee8f3b695e 7 * @brief Header file of PWR LL module.
EricLew 0:80ee8f3b695e 8 ******************************************************************************
EricLew 0:80ee8f3b695e 9 * @attention
EricLew 0:80ee8f3b695e 10 *
EricLew 0:80ee8f3b695e 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
EricLew 0:80ee8f3b695e 12 *
EricLew 0:80ee8f3b695e 13 * Redistribution and use in source and binary forms, with or without modification,
EricLew 0:80ee8f3b695e 14 * are permitted provided that the following conditions are met:
EricLew 0:80ee8f3b695e 15 * 1. Redistributions of source code must retain the above copyright notice,
EricLew 0:80ee8f3b695e 16 * this list of conditions and the following disclaimer.
EricLew 0:80ee8f3b695e 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
EricLew 0:80ee8f3b695e 18 * this list of conditions and the following disclaimer in the documentation
EricLew 0:80ee8f3b695e 19 * and/or other materials provided with the distribution.
EricLew 0:80ee8f3b695e 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
EricLew 0:80ee8f3b695e 21 * may be used to endorse or promote products derived from this software
EricLew 0:80ee8f3b695e 22 * without specific prior written permission.
EricLew 0:80ee8f3b695e 23 *
EricLew 0:80ee8f3b695e 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
EricLew 0:80ee8f3b695e 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
EricLew 0:80ee8f3b695e 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
EricLew 0:80ee8f3b695e 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
EricLew 0:80ee8f3b695e 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
EricLew 0:80ee8f3b695e 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
EricLew 0:80ee8f3b695e 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
EricLew 0:80ee8f3b695e 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
EricLew 0:80ee8f3b695e 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
EricLew 0:80ee8f3b695e 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
EricLew 0:80ee8f3b695e 34 *
EricLew 0:80ee8f3b695e 35 ******************************************************************************
EricLew 0:80ee8f3b695e 36 */
EricLew 0:80ee8f3b695e 37
EricLew 0:80ee8f3b695e 38 /* Define to prevent recursive inclusion -------------------------------------*/
EricLew 0:80ee8f3b695e 39 #ifndef __STM32L4xx_LL_PWR_H
EricLew 0:80ee8f3b695e 40 #define __STM32L4xx_LL_PWR_H
EricLew 0:80ee8f3b695e 41
EricLew 0:80ee8f3b695e 42 #ifdef __cplusplus
EricLew 0:80ee8f3b695e 43 extern "C" {
EricLew 0:80ee8f3b695e 44 #endif
EricLew 0:80ee8f3b695e 45
EricLew 0:80ee8f3b695e 46 /* Includes ------------------------------------------------------------------*/
EricLew 0:80ee8f3b695e 47 #include "stm32l4xx.h"
EricLew 0:80ee8f3b695e 48
EricLew 0:80ee8f3b695e 49 /** @addtogroup STM32L4xx_LL_Driver
EricLew 0:80ee8f3b695e 50 * @{
EricLew 0:80ee8f3b695e 51 */
EricLew 0:80ee8f3b695e 52
EricLew 0:80ee8f3b695e 53 #if defined(PWR)
EricLew 0:80ee8f3b695e 54
EricLew 0:80ee8f3b695e 55 /** @defgroup PWR_LL PWR
EricLew 0:80ee8f3b695e 56 * @{
EricLew 0:80ee8f3b695e 57 */
EricLew 0:80ee8f3b695e 58
EricLew 0:80ee8f3b695e 59 /* Private types -------------------------------------------------------------*/
EricLew 0:80ee8f3b695e 60 /* Private variables ---------------------------------------------------------*/
EricLew 0:80ee8f3b695e 61
EricLew 0:80ee8f3b695e 62 /* Private constants ---------------------------------------------------------*/
EricLew 0:80ee8f3b695e 63
EricLew 0:80ee8f3b695e 64 /* Private macros ------------------------------------------------------------*/
EricLew 0:80ee8f3b695e 65
EricLew 0:80ee8f3b695e 66 /* Exported types ------------------------------------------------------------*/
EricLew 0:80ee8f3b695e 67 /* Exported constants --------------------------------------------------------*/
EricLew 0:80ee8f3b695e 68 /** @defgroup PWR_LL_Exported_Constants PWR Exported Constants
EricLew 0:80ee8f3b695e 69 * @{
EricLew 0:80ee8f3b695e 70 */
EricLew 0:80ee8f3b695e 71
EricLew 0:80ee8f3b695e 72 /** @defgroup PWR_LL_EC_CLEAR_FLAG Clear Flags Defines
EricLew 0:80ee8f3b695e 73 * @brief Flags defines which can be used with LL_PWR_WriteReg function
EricLew 0:80ee8f3b695e 74 * @{
EricLew 0:80ee8f3b695e 75 */
EricLew 0:80ee8f3b695e 76 #define LL_PWR_SCR_CSBF PWR_SCR_CSBF
EricLew 0:80ee8f3b695e 77 #define LL_PWR_SCR_CWUF PWR_SCR_CWUF
EricLew 0:80ee8f3b695e 78 #define LL_PWR_SCR_CWUF5 PWR_SCR_CWUF5
EricLew 0:80ee8f3b695e 79 #define LL_PWR_SCR_CWUF4 PWR_SCR_CWUF4
EricLew 0:80ee8f3b695e 80 #define LL_PWR_SCR_CWUF3 PWR_SCR_CWUF3
EricLew 0:80ee8f3b695e 81 #define LL_PWR_SCR_CWUF2 PWR_SCR_CWUF2
EricLew 0:80ee8f3b695e 82 #define LL_PWR_SCR_CWUF1 PWR_SCR_CWUF1
EricLew 0:80ee8f3b695e 83 /**
EricLew 0:80ee8f3b695e 84 * @}
EricLew 0:80ee8f3b695e 85 */
EricLew 0:80ee8f3b695e 86
EricLew 0:80ee8f3b695e 87 /** @defgroup PWR_LL_EC_GET_FLAG Get Flags Defines
EricLew 0:80ee8f3b695e 88 * @brief Flags defines which can be used with LL_PWR_ReadReg function
EricLew 0:80ee8f3b695e 89 * @{
EricLew 0:80ee8f3b695e 90 */
EricLew 0:80ee8f3b695e 91 #define LL_PWR_SR1_WUFI PWR_SR1_WUFI
EricLew 0:80ee8f3b695e 92 #define LL_PWR_SR1_SBF PWR_SR1_SBF
EricLew 0:80ee8f3b695e 93 #define LL_PWR_SR1_WUF5 PWR_SR1_WUF5
EricLew 0:80ee8f3b695e 94 #define LL_PWR_SR1_WUF4 PWR_SR1_WUF4
EricLew 0:80ee8f3b695e 95 #define LL_PWR_SR1_WUF3 PWR_SR1_WUF3
EricLew 0:80ee8f3b695e 96 #define LL_PWR_SR1_WUF2 PWR_SR1_WUF2
EricLew 0:80ee8f3b695e 97 #define LL_PWR_SR1_WUF1 PWR_SR1_WUF1
EricLew 0:80ee8f3b695e 98 #define LL_PWR_SR2_PVMO4 PWR_SR2_PVMO4
EricLew 0:80ee8f3b695e 99 #define LL_PWR_SR2_PVMO3 PWR_SR2_PVMO3
EricLew 0:80ee8f3b695e 100 #define LL_PWR_SR2_PVMO2 PWR_SR2_PVMO2
EricLew 0:80ee8f3b695e 101 #define LL_PWR_SR2_PVMO1 PWR_SR2_PVMO1
EricLew 0:80ee8f3b695e 102 #define LL_PWR_SR2_PVDO PWR_SR2_PVDO
EricLew 0:80ee8f3b695e 103 #define LL_PWR_SR2_VOSF PWR_SR2_VOSF
EricLew 0:80ee8f3b695e 104 #define LL_PWR_SR2_REGLPF PWR_SR2_REGLPF
EricLew 0:80ee8f3b695e 105 #define LL_PWR_SR2_REGLPS PWR_SR2_REGLPS
EricLew 0:80ee8f3b695e 106 /**
EricLew 0:80ee8f3b695e 107 * @}
EricLew 0:80ee8f3b695e 108 */
EricLew 0:80ee8f3b695e 109
EricLew 0:80ee8f3b695e 110 /** @defgroup PWR_LL_EC_REGU_VOLTAGE REGU VOLTAGE
EricLew 0:80ee8f3b695e 111 * @{
EricLew 0:80ee8f3b695e 112 */
EricLew 0:80ee8f3b695e 113 #define LL_PWR_REGU_VOLTAGE_SCALE1 (PWR_CR1_VOS_0)
EricLew 0:80ee8f3b695e 114 #define LL_PWR_REGU_VOLTAGE_SCALE2 (PWR_CR1_VOS_1)
EricLew 0:80ee8f3b695e 115 /**
EricLew 0:80ee8f3b695e 116 * @}
EricLew 0:80ee8f3b695e 117 */
EricLew 0:80ee8f3b695e 118
EricLew 0:80ee8f3b695e 119 /** @defgroup PWR_LL_EC_MODE_STOP1_MAIN MODE STOP1 MAIN
EricLew 0:80ee8f3b695e 120 * @{
EricLew 0:80ee8f3b695e 121 */
EricLew 0:80ee8f3b695e 122 #define LL_PWR_MODE_STOP1_MAIN_REGU (PWR_CR1_LPMS_STOP1MR)
EricLew 0:80ee8f3b695e 123 #define LL_PWR_MODE_STOP1_LP_REGU (PWR_CR1_LPMS_STOP1LPR)
EricLew 0:80ee8f3b695e 124 #define LL_PWR_MODE_STOP2 (PWR_CR1_LPMS_STOP2)
EricLew 0:80ee8f3b695e 125 #define LL_PWR_MODE_STANDBY (PWR_CR1_LPMS_STANDBY)
EricLew 0:80ee8f3b695e 126 #define LL_PWR_MODE_SHUTDOWN (PWR_CR1_LPMS_SHUTDOWN)
EricLew 0:80ee8f3b695e 127 /**
EricLew 0:80ee8f3b695e 128 * @}
EricLew 0:80ee8f3b695e 129 */
EricLew 0:80ee8f3b695e 130
EricLew 0:80ee8f3b695e 131 /** @defgroup PWR_LL_EC_PVM_VDDUSB_1 PVM VDDUSB 1
EricLew 0:80ee8f3b695e 132 * @{
EricLew 0:80ee8f3b695e 133 */
EricLew 0:80ee8f3b695e 134 #if defined(USB_OTG_FS)
EricLew 0:80ee8f3b695e 135 #define LL_PWR_PVM_VDDUSB_1_2V (PWR_CR2_PVME1) /* Monitoring VDDUSB vs. 1.2V */
EricLew 0:80ee8f3b695e 136 #endif /* USB_OTG_FS */
EricLew 0:80ee8f3b695e 137 #define LL_PWR_PVM_VDDIO2_0_9V (PWR_CR2_PVME2) /* Monitoring VDDIO2 vs. 0.9V */
EricLew 0:80ee8f3b695e 138 #define LL_PWR_PVM_VDDA_1_62V (PWR_CR2_PVME3) /* Monitoring VDDA vs. 1.62V */
EricLew 0:80ee8f3b695e 139 #define LL_PWR_PVM_VDDA_2_2V (PWR_CR2_PVME4) /* Monitoring VDDA vs. 2.2V */
EricLew 0:80ee8f3b695e 140 /**
EricLew 0:80ee8f3b695e 141 * @}
EricLew 0:80ee8f3b695e 142 */
EricLew 0:80ee8f3b695e 143
EricLew 0:80ee8f3b695e 144 /** @defgroup PWR_LL_EC_PVDLEVEL PVDLEVEL
EricLew 0:80ee8f3b695e 145 * @{
EricLew 0:80ee8f3b695e 146 */
EricLew 0:80ee8f3b695e 147 #define LL_PWR_PVDLEVEL_0 (PWR_CR2_PLS_LEV0) /* VPVD0 around 2.0 V */
EricLew 0:80ee8f3b695e 148 #define LL_PWR_PVDLEVEL_1 (PWR_CR2_PLS_LEV1) /* VPVD1 around 2.2 V */
EricLew 0:80ee8f3b695e 149 #define LL_PWR_PVDLEVEL_2 (PWR_CR2_PLS_LEV2) /* VPVD2 around 2.4 V */
EricLew 0:80ee8f3b695e 150 #define LL_PWR_PVDLEVEL_3 (PWR_CR2_PLS_LEV3) /* VPVD3 around 2.5 V */
EricLew 0:80ee8f3b695e 151 #define LL_PWR_PVDLEVEL_4 (PWR_CR2_PLS_LEV4) /* VPVD4 around 2.6 V */
EricLew 0:80ee8f3b695e 152 #define LL_PWR_PVDLEVEL_5 (PWR_CR2_PLS_LEV5) /* VPVD5 around 2.8 V */
EricLew 0:80ee8f3b695e 153 #define LL_PWR_PVDLEVEL_6 (PWR_CR2_PLS_LEV6) /* VPVD6 around 2.9 V */
EricLew 0:80ee8f3b695e 154 #define LL_PWR_PVDLEVEL_7 (PWR_CR2_PLS_LEV7) /* External input analog voltage (Compare internally to VREFINT) */
EricLew 0:80ee8f3b695e 155 /**
EricLew 0:80ee8f3b695e 156 * @}
EricLew 0:80ee8f3b695e 157 */
EricLew 0:80ee8f3b695e 158
EricLew 0:80ee8f3b695e 159 /** @defgroup PWR_LL_EC_WAKEUP WAKEUP
EricLew 0:80ee8f3b695e 160 * @{
EricLew 0:80ee8f3b695e 161 */
EricLew 0:80ee8f3b695e 162 #define LL_PWR_WAKEUP_PIN1 (PWR_CR3_EWUP1)
EricLew 0:80ee8f3b695e 163 #define LL_PWR_WAKEUP_PIN2 (PWR_CR3_EWUP2)
EricLew 0:80ee8f3b695e 164 #define LL_PWR_WAKEUP_PIN3 (PWR_CR3_EWUP3)
EricLew 0:80ee8f3b695e 165 #define LL_PWR_WAKEUP_PIN4 (PWR_CR3_EWUP4)
EricLew 0:80ee8f3b695e 166 #define LL_PWR_WAKEUP_PIN5 (PWR_CR3_EWUP5)
EricLew 0:80ee8f3b695e 167 /**
EricLew 0:80ee8f3b695e 168 * @}
EricLew 0:80ee8f3b695e 169 */
EricLew 0:80ee8f3b695e 170
EricLew 0:80ee8f3b695e 171 /** @defgroup PWR_LL_EC_BATT_CHARG_RESISTOR BATT CHARG RESISTOR
EricLew 0:80ee8f3b695e 172 * @{
EricLew 0:80ee8f3b695e 173 */
EricLew 0:80ee8f3b695e 174 #define LL_PWR_BATT_CHARG_RESISTOR_5K ((uint32_t)0x00000000)
EricLew 0:80ee8f3b695e 175 #define LL_PWR_BATT_CHARGRESISTOR_1_5K (PWR_CR4_VBRS)
EricLew 0:80ee8f3b695e 176 /**
EricLew 0:80ee8f3b695e 177 * @}
EricLew 0:80ee8f3b695e 178 */
EricLew 0:80ee8f3b695e 179
EricLew 0:80ee8f3b695e 180 /** @defgroup PWR_LL_EC_GPIO GPIO
EricLew 0:80ee8f3b695e 181 * @{
EricLew 0:80ee8f3b695e 182 */
EricLew 0:80ee8f3b695e 183 #define LL_PWR_GPIO_A ((uint32_t)(&(PWR->PUCRA)))
EricLew 0:80ee8f3b695e 184 #define LL_PWR_GPIO_B ((uint32_t)(&(PWR->PUCRB)))
EricLew 0:80ee8f3b695e 185 #define LL_PWR_GPIO_C ((uint32_t)(&(PWR->PUCRC)))
EricLew 0:80ee8f3b695e 186 #define LL_PWR_GPIO_D ((uint32_t)(&(PWR->PUCRD)))
EricLew 0:80ee8f3b695e 187 #define LL_PWR_GPIO_E ((uint32_t)(&(PWR->PUCRE)))
EricLew 0:80ee8f3b695e 188 #define LL_PWR_GPIO_F ((uint32_t)(&(PWR->PUCRF)))
EricLew 0:80ee8f3b695e 189 #define LL_PWR_GPIO_G ((uint32_t)(&(PWR->PUCRG)))
EricLew 0:80ee8f3b695e 190 #define LL_PWR_GPIO_H ((uint32_t)(&(PWR->PUCRH)))
EricLew 0:80ee8f3b695e 191 /**
EricLew 0:80ee8f3b695e 192 * @}
EricLew 0:80ee8f3b695e 193 */
EricLew 0:80ee8f3b695e 194
EricLew 0:80ee8f3b695e 195 /** @defgroup PWR_LL_EC_GPIO_BIT GPIO BIT
EricLew 0:80ee8f3b695e 196 * @{
EricLew 0:80ee8f3b695e 197 */
EricLew 0:80ee8f3b695e 198 #define LL_PWR_GPIO_BIT_0 ((uint32_t)0x00000001)
EricLew 0:80ee8f3b695e 199 #define LL_PWR_GPIO_BIT_1 ((uint32_t)0x00000002)
EricLew 0:80ee8f3b695e 200 #define LL_PWR_GPIO_BIT_2 ((uint32_t)0x00000004)
EricLew 0:80ee8f3b695e 201 #define LL_PWR_GPIO_BIT_3 ((uint32_t)0x00000008)
EricLew 0:80ee8f3b695e 202 #define LL_PWR_GPIO_BIT_4 ((uint32_t)0x00000010)
EricLew 0:80ee8f3b695e 203 #define LL_PWR_GPIO_BIT_5 ((uint32_t)0x00000020)
EricLew 0:80ee8f3b695e 204 #define LL_PWR_GPIO_BIT_6 ((uint32_t)0x00000040)
EricLew 0:80ee8f3b695e 205 #define LL_PWR_GPIO_BIT_7 ((uint32_t)0x00000080)
EricLew 0:80ee8f3b695e 206 #define LL_PWR_GPIO_BIT_8 ((uint32_t)0x00000100)
EricLew 0:80ee8f3b695e 207 #define LL_PWR_GPIO_BIT_9 ((uint32_t)0x00000200)
EricLew 0:80ee8f3b695e 208 #define LL_PWR_GPIO_BIT_10 ((uint32_t)0x00000400)
EricLew 0:80ee8f3b695e 209 #define LL_PWR_GPIO_BIT_11 ((uint32_t)0x00000800)
EricLew 0:80ee8f3b695e 210 #define LL_PWR_GPIO_BIT_12 ((uint32_t)0x00001000)
EricLew 0:80ee8f3b695e 211 #define LL_PWR_GPIO_BIT_13 ((uint32_t)0x00002000)
EricLew 0:80ee8f3b695e 212 #define LL_PWR_GPIO_BIT_14 ((uint32_t)0x00004000)
EricLew 0:80ee8f3b695e 213 #define LL_PWR_GPIO_BIT_15 ((uint32_t)0x00008000)
EricLew 0:80ee8f3b695e 214 /**
EricLew 0:80ee8f3b695e 215 * @}
EricLew 0:80ee8f3b695e 216 */
EricLew 0:80ee8f3b695e 217
EricLew 0:80ee8f3b695e 218 /**
EricLew 0:80ee8f3b695e 219 * @}
EricLew 0:80ee8f3b695e 220 */
EricLew 0:80ee8f3b695e 221
EricLew 0:80ee8f3b695e 222 /* Exported macro ------------------------------------------------------------*/
EricLew 0:80ee8f3b695e 223 /** @defgroup PWR_LL_Exported_Macros PWR Exported Macros
EricLew 0:80ee8f3b695e 224 * @{
EricLew 0:80ee8f3b695e 225 */
EricLew 0:80ee8f3b695e 226
EricLew 0:80ee8f3b695e 227 /** @defgroup PWR_LL_EM_WRITE_READ Common Write and read registers Macros
EricLew 0:80ee8f3b695e 228 * @{
EricLew 0:80ee8f3b695e 229 */
EricLew 0:80ee8f3b695e 230
EricLew 0:80ee8f3b695e 231 /**
EricLew 0:80ee8f3b695e 232 * @brief Write a value in PWR register
EricLew 0:80ee8f3b695e 233 * @param __REG__ Register to be written
EricLew 0:80ee8f3b695e 234 * @param __VALUE__ Value to be written in the register
EricLew 0:80ee8f3b695e 235 * @retval None
EricLew 0:80ee8f3b695e 236 */
EricLew 0:80ee8f3b695e 237 #define LL_PWR_WriteReg(__REG__, __VALUE__) WRITE_REG(PWR->__REG__, (__VALUE__))
EricLew 0:80ee8f3b695e 238
EricLew 0:80ee8f3b695e 239 /**
EricLew 0:80ee8f3b695e 240 * @brief Read a value in PWR register
EricLew 0:80ee8f3b695e 241 * @param __REG__ Register to be read
EricLew 0:80ee8f3b695e 242 * @retval Register value
EricLew 0:80ee8f3b695e 243 */
EricLew 0:80ee8f3b695e 244 #define LL_PWR_ReadReg(__REG__) READ_REG(PWR->__REG__)
EricLew 0:80ee8f3b695e 245 /**
EricLew 0:80ee8f3b695e 246 * @}
EricLew 0:80ee8f3b695e 247 */
EricLew 0:80ee8f3b695e 248
EricLew 0:80ee8f3b695e 249 /**
EricLew 0:80ee8f3b695e 250 * @}
EricLew 0:80ee8f3b695e 251 */
EricLew 0:80ee8f3b695e 252
EricLew 0:80ee8f3b695e 253
EricLew 0:80ee8f3b695e 254 /* Exported functions --------------------------------------------------------*/
EricLew 0:80ee8f3b695e 255 /** @defgroup PWR_LL_Exported_Functions PWR Exported Functions
EricLew 0:80ee8f3b695e 256 * @{
EricLew 0:80ee8f3b695e 257 */
EricLew 0:80ee8f3b695e 258
EricLew 0:80ee8f3b695e 259 /** @defgroup PWR_LL_EF_Configuration Configuration
EricLew 0:80ee8f3b695e 260 * @{
EricLew 0:80ee8f3b695e 261 */
EricLew 0:80ee8f3b695e 262
EricLew 0:80ee8f3b695e 263 /**
EricLew 0:80ee8f3b695e 264 * @brief Switch the regulator from main mode to low-power mode
EricLew 0:80ee8f3b695e 265 * @rmtoll CR1 LPR LL_PWR_EnableLowPowerRunMode
EricLew 0:80ee8f3b695e 266 * @retval None
EricLew 0:80ee8f3b695e 267 */
EricLew 0:80ee8f3b695e 268 __STATIC_INLINE void LL_PWR_EnableLowPowerRunMode(void)
EricLew 0:80ee8f3b695e 269 {
EricLew 0:80ee8f3b695e 270 SET_BIT(PWR->CR1, PWR_CR1_LPR);
EricLew 0:80ee8f3b695e 271 }
EricLew 0:80ee8f3b695e 272
EricLew 0:80ee8f3b695e 273 /**
EricLew 0:80ee8f3b695e 274 * @brief Switch the regulator from low-power mode to main mode
EricLew 0:80ee8f3b695e 275 * @rmtoll CR1 LPR LL_PWR_DisableLowPowerRunMode
EricLew 0:80ee8f3b695e 276 * @retval None
EricLew 0:80ee8f3b695e 277 */
EricLew 0:80ee8f3b695e 278 __STATIC_INLINE void LL_PWR_DisableLowPowerRunMode(void)
EricLew 0:80ee8f3b695e 279 {
EricLew 0:80ee8f3b695e 280 CLEAR_BIT(PWR->CR1, PWR_CR1_LPR);
EricLew 0:80ee8f3b695e 281 }
EricLew 0:80ee8f3b695e 282
EricLew 0:80ee8f3b695e 283 /**
EricLew 0:80ee8f3b695e 284 * @brief Check if the regulator is in low-power mode
EricLew 0:80ee8f3b695e 285 * @rmtoll CR1 LPR LL_PWR_IsEnabledLowPowerRunMode
EricLew 0:80ee8f3b695e 286 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 287 */
EricLew 0:80ee8f3b695e 288 __STATIC_INLINE uint32_t LL_PWR_IsEnabledLowPowerRunMode(void)
EricLew 0:80ee8f3b695e 289 {
EricLew 0:80ee8f3b695e 290 return (READ_BIT(PWR->CR1, PWR_CR1_LPR) == (PWR_CR1_LPR));
EricLew 0:80ee8f3b695e 291 }
EricLew 0:80ee8f3b695e 292
EricLew 0:80ee8f3b695e 293 /**
EricLew 0:80ee8f3b695e 294 * @brief Set the main internal regulator output voltage
EricLew 0:80ee8f3b695e 295 * @rmtoll CR1 VOS LL_PWR_SetRegulVoltageScaling
EricLew 0:80ee8f3b695e 296 * @param VoltageScaling This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 297 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE1
EricLew 0:80ee8f3b695e 298 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE2
EricLew 0:80ee8f3b695e 299 * @retval None
EricLew 0:80ee8f3b695e 300 */
EricLew 0:80ee8f3b695e 301 __STATIC_INLINE void LL_PWR_SetRegulVoltageScaling(uint32_t VoltageScaling)
EricLew 0:80ee8f3b695e 302 {
EricLew 0:80ee8f3b695e 303 MODIFY_REG(PWR->CR1, PWR_CR1_VOS, VoltageScaling);
EricLew 0:80ee8f3b695e 304 }
EricLew 0:80ee8f3b695e 305
EricLew 0:80ee8f3b695e 306 /**
EricLew 0:80ee8f3b695e 307 * @brief Get the main internal regulator output voltage
EricLew 0:80ee8f3b695e 308 * @rmtoll CR1 VOS LL_PWR_GetRegulVoltageScaling
EricLew 0:80ee8f3b695e 309 * @retval Returned value can be one of the following values:
EricLew 0:80ee8f3b695e 310 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE1
EricLew 0:80ee8f3b695e 311 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE2
EricLew 0:80ee8f3b695e 312 */
EricLew 0:80ee8f3b695e 313 __STATIC_INLINE uint32_t LL_PWR_GetRegulVoltageScaling(void)
EricLew 0:80ee8f3b695e 314 {
EricLew 0:80ee8f3b695e 315 return (uint32_t)(READ_BIT(PWR->CR1, PWR_CR1_VOS));
EricLew 0:80ee8f3b695e 316 }
EricLew 0:80ee8f3b695e 317
EricLew 0:80ee8f3b695e 318 /**
EricLew 0:80ee8f3b695e 319 * @brief Enable access to the backup domain
EricLew 0:80ee8f3b695e 320 * @rmtoll CR1 DBP LL_PWR_EnableBkUpAccess
EricLew 0:80ee8f3b695e 321 * @retval None
EricLew 0:80ee8f3b695e 322 */
EricLew 0:80ee8f3b695e 323 __STATIC_INLINE void LL_PWR_EnableBkUpAccess(void)
EricLew 0:80ee8f3b695e 324 {
EricLew 0:80ee8f3b695e 325 SET_BIT(PWR->CR1, PWR_CR1_DBP);
EricLew 0:80ee8f3b695e 326 }
EricLew 0:80ee8f3b695e 327
EricLew 0:80ee8f3b695e 328 /**
EricLew 0:80ee8f3b695e 329 * @brief Disable access to the backup domain
EricLew 0:80ee8f3b695e 330 * @rmtoll CR1 DBP LL_PWR_DisableBkUpAccess
EricLew 0:80ee8f3b695e 331 * @retval None
EricLew 0:80ee8f3b695e 332 */
EricLew 0:80ee8f3b695e 333 __STATIC_INLINE void LL_PWR_DisableBkUpAccess(void)
EricLew 0:80ee8f3b695e 334 {
EricLew 0:80ee8f3b695e 335 CLEAR_BIT(PWR->CR1, PWR_CR1_DBP);
EricLew 0:80ee8f3b695e 336 }
EricLew 0:80ee8f3b695e 337
EricLew 0:80ee8f3b695e 338 /**
EricLew 0:80ee8f3b695e 339 * @brief Check if the backup domain is enabled
EricLew 0:80ee8f3b695e 340 * @rmtoll CR1 DBP LL_PWR_IsEnabledBkUpAccess
EricLew 0:80ee8f3b695e 341 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 342 */
EricLew 0:80ee8f3b695e 343 __STATIC_INLINE uint32_t LL_PWR_IsEnabledBkUpAccess(void)
EricLew 0:80ee8f3b695e 344 {
EricLew 0:80ee8f3b695e 345 return (READ_BIT(PWR->CR1, PWR_CR1_DBP) == (PWR_CR1_DBP));
EricLew 0:80ee8f3b695e 346 }
EricLew 0:80ee8f3b695e 347
EricLew 0:80ee8f3b695e 348 /**
EricLew 0:80ee8f3b695e 349 * @brief Set Low-Power mode
EricLew 0:80ee8f3b695e 350 * @rmtoll CR1 LPMS LL_PWR_SetPowerMode
EricLew 0:80ee8f3b695e 351 * @param LowPowerMode This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 352 * @arg @ref LL_PWR_MODE_STOP1_MAIN_REGU
EricLew 0:80ee8f3b695e 353 * @arg @ref LL_PWR_MODE_STOP1_LP_REGU
EricLew 0:80ee8f3b695e 354 * @arg @ref LL_PWR_MODE_STOP2
EricLew 0:80ee8f3b695e 355 * @arg @ref LL_PWR_MODE_STANDBY
EricLew 0:80ee8f3b695e 356 * @arg @ref LL_PWR_MODE_SHUTDOWN
EricLew 0:80ee8f3b695e 357 * @retval None
EricLew 0:80ee8f3b695e 358 */
EricLew 0:80ee8f3b695e 359 __STATIC_INLINE void LL_PWR_SetPowerMode(uint32_t LowPowerMode)
EricLew 0:80ee8f3b695e 360 {
EricLew 0:80ee8f3b695e 361 MODIFY_REG(PWR->CR1, PWR_CR1_LPMS, LowPowerMode);
EricLew 0:80ee8f3b695e 362 }
EricLew 0:80ee8f3b695e 363
EricLew 0:80ee8f3b695e 364 /**
EricLew 0:80ee8f3b695e 365 * @brief Get Low-Power mode
EricLew 0:80ee8f3b695e 366 * @rmtoll CR1 LPMS LL_PWR_GetPowerMode
EricLew 0:80ee8f3b695e 367 * @retval Returned value can be one of the following values:
EricLew 0:80ee8f3b695e 368 * @arg @ref LL_PWR_MODE_STOP1_MAIN_REGU
EricLew 0:80ee8f3b695e 369 * @arg @ref LL_PWR_MODE_STOP1_LP_REGU
EricLew 0:80ee8f3b695e 370 * @arg @ref LL_PWR_MODE_STOP2
EricLew 0:80ee8f3b695e 371 * @arg @ref LL_PWR_MODE_STANDBY
EricLew 0:80ee8f3b695e 372 * @arg @ref LL_PWR_MODE_SHUTDOWN
EricLew 0:80ee8f3b695e 373 */
EricLew 0:80ee8f3b695e 374 __STATIC_INLINE uint32_t LL_PWR_GetPowerMode(void)
EricLew 0:80ee8f3b695e 375 {
EricLew 0:80ee8f3b695e 376 return (uint32_t)(READ_BIT(PWR->CR1, PWR_CR1_LPMS));
EricLew 0:80ee8f3b695e 377 }
EricLew 0:80ee8f3b695e 378
EricLew 0:80ee8f3b695e 379 #if defined(USB_OTG_FS)
EricLew 0:80ee8f3b695e 380 /**
EricLew 0:80ee8f3b695e 381 * @brief Enable VDDUSB supply
EricLew 0:80ee8f3b695e 382 * @rmtoll CR2 USV LL_PWR_EnableVddUSB
EricLew 0:80ee8f3b695e 383 * @retval None
EricLew 0:80ee8f3b695e 384 */
EricLew 0:80ee8f3b695e 385 __STATIC_INLINE void LL_PWR_EnableVddUSB(void)
EricLew 0:80ee8f3b695e 386 {
EricLew 0:80ee8f3b695e 387 SET_BIT(PWR->CR2, PWR_CR2_USV);
EricLew 0:80ee8f3b695e 388 }
EricLew 0:80ee8f3b695e 389 #endif /* USB_OTG_FS */
EricLew 0:80ee8f3b695e 390
EricLew 0:80ee8f3b695e 391 #if defined(USB_OTG_FS)
EricLew 0:80ee8f3b695e 392 /**
EricLew 0:80ee8f3b695e 393 * @brief Disable VDDUSB supply
EricLew 0:80ee8f3b695e 394 * @rmtoll CR2 USV LL_PWR_DisableVddUSB
EricLew 0:80ee8f3b695e 395 * @retval None
EricLew 0:80ee8f3b695e 396 */
EricLew 0:80ee8f3b695e 397 __STATIC_INLINE void LL_PWR_DisableVddUSB(void)
EricLew 0:80ee8f3b695e 398 {
EricLew 0:80ee8f3b695e 399 CLEAR_BIT(PWR->CR2, PWR_CR2_USV);
EricLew 0:80ee8f3b695e 400 }
EricLew 0:80ee8f3b695e 401 #endif /* USB_OTG_FS */
EricLew 0:80ee8f3b695e 402
EricLew 0:80ee8f3b695e 403 #if defined(USB_OTG_FS)
EricLew 0:80ee8f3b695e 404 /**
EricLew 0:80ee8f3b695e 405 * @brief Check if VDDUSB supply is enabled
EricLew 0:80ee8f3b695e 406 * @rmtoll CR2 USV LL_PWR_IsEnabledVddUSB
EricLew 0:80ee8f3b695e 407 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 408 */
EricLew 0:80ee8f3b695e 409 __STATIC_INLINE uint32_t LL_PWR_IsEnabledVddUSB(void)
EricLew 0:80ee8f3b695e 410 {
EricLew 0:80ee8f3b695e 411 return (READ_BIT(PWR->CR2, PWR_CR2_USV) == (PWR_CR2_USV));
EricLew 0:80ee8f3b695e 412 }
EricLew 0:80ee8f3b695e 413 #endif /* USB_OTG_FS */
EricLew 0:80ee8f3b695e 414
EricLew 0:80ee8f3b695e 415 /**
EricLew 0:80ee8f3b695e 416 * @brief Enable VDDIO2 supply
EricLew 0:80ee8f3b695e 417 * @rmtoll CR2 IOSV LL_PWR_EnableVddIO2
EricLew 0:80ee8f3b695e 418 * @retval None
EricLew 0:80ee8f3b695e 419 */
EricLew 0:80ee8f3b695e 420 __STATIC_INLINE void LL_PWR_EnableVddIO2(void)
EricLew 0:80ee8f3b695e 421 {
EricLew 0:80ee8f3b695e 422 SET_BIT(PWR->CR2, PWR_CR2_IOSV);
EricLew 0:80ee8f3b695e 423 }
EricLew 0:80ee8f3b695e 424
EricLew 0:80ee8f3b695e 425 /**
EricLew 0:80ee8f3b695e 426 * @brief Disable VDDIO2 supply
EricLew 0:80ee8f3b695e 427 * @rmtoll CR2 IOSV LL_PWR_DisableVddIO2
EricLew 0:80ee8f3b695e 428 * @retval None
EricLew 0:80ee8f3b695e 429 */
EricLew 0:80ee8f3b695e 430 __STATIC_INLINE void LL_PWR_DisableVddIO2(void)
EricLew 0:80ee8f3b695e 431 {
EricLew 0:80ee8f3b695e 432 CLEAR_BIT(PWR->CR2, PWR_CR2_IOSV);
EricLew 0:80ee8f3b695e 433 }
EricLew 0:80ee8f3b695e 434
EricLew 0:80ee8f3b695e 435 /**
EricLew 0:80ee8f3b695e 436 * @brief Check if VDDIO2 supply is enabled
EricLew 0:80ee8f3b695e 437 * @rmtoll CR2 IOSV LL_PWR_IsEnabledVddIO2
EricLew 0:80ee8f3b695e 438 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 439 */
EricLew 0:80ee8f3b695e 440 __STATIC_INLINE uint32_t LL_PWR_IsEnabledVddIO2(void)
EricLew 0:80ee8f3b695e 441 {
EricLew 0:80ee8f3b695e 442 return (READ_BIT(PWR->CR2, PWR_CR2_IOSV) == (PWR_CR2_IOSV));
EricLew 0:80ee8f3b695e 443 }
EricLew 0:80ee8f3b695e 444
EricLew 0:80ee8f3b695e 445 /**
EricLew 0:80ee8f3b695e 446 * @brief Enable the Power Voltage Monitoring on a peripheral
EricLew 0:80ee8f3b695e 447 * CR2 PVME1 LL_PWR_EnablePVM\n
EricLew 0:80ee8f3b695e 448 * CR2 PVME2 LL_PWR_EnablePVM\n
EricLew 0:80ee8f3b695e 449 * CR2 PVME3 LL_PWR_EnablePVM\n
EricLew 0:80ee8f3b695e 450 * CR2 PVME4 LL_PWR_EnablePVM
EricLew 0:80ee8f3b695e 451 * @param PeriphVoltage This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 452 * @arg @ref LL_PWR_PVM_VDDUSB_1_2V (*)
EricLew 0:80ee8f3b695e 453 * @arg @ref LL_PWR_PVM_VDDIO2_0_9V
EricLew 0:80ee8f3b695e 454 * @arg @ref LL_PWR_PVM_VDDA_1_62V
EricLew 0:80ee8f3b695e 455 * @arg @ref LL_PWR_PVM_VDDA_2_2V
EricLew 0:80ee8f3b695e 456 * (*) value not defined in all devices.
EricLew 0:80ee8f3b695e 457 * @retval None
EricLew 0:80ee8f3b695e 458 */
EricLew 0:80ee8f3b695e 459 __STATIC_INLINE void LL_PWR_EnablePVM(uint32_t PeriphVoltage)
EricLew 0:80ee8f3b695e 460 {
EricLew 0:80ee8f3b695e 461 SET_BIT(PWR->CR2, PeriphVoltage);
EricLew 0:80ee8f3b695e 462 }
EricLew 0:80ee8f3b695e 463
EricLew 0:80ee8f3b695e 464 /**
EricLew 0:80ee8f3b695e 465 * @brief Disable the Power Voltage Monitoring on a peripheral
EricLew 0:80ee8f3b695e 466 * @rmtoll CR2 PVME1 LL_PWR_DisablePVM\n
EricLew 0:80ee8f3b695e 467 * CR2 PVME2 LL_PWR_DisablePVM\n
EricLew 0:80ee8f3b695e 468 * CR2 PVME3 LL_PWR_DisablePVM\n
EricLew 0:80ee8f3b695e 469 * CR2 PVME4 LL_PWR_DisablePVM
EricLew 0:80ee8f3b695e 470 * @param PeriphVoltage This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 471 * @arg @ref LL_PWR_PVM_VDDUSB_1_2V (*)
EricLew 0:80ee8f3b695e 472 * @arg @ref LL_PWR_PVM_VDDIO2_0_9V
EricLew 0:80ee8f3b695e 473 * @arg @ref LL_PWR_PVM_VDDA_1_62V
EricLew 0:80ee8f3b695e 474 * @arg @ref LL_PWR_PVM_VDDA_2_2V
EricLew 0:80ee8f3b695e 475 * (*) value not defined in all devices.
EricLew 0:80ee8f3b695e 476 * @retval None
EricLew 0:80ee8f3b695e 477 */
EricLew 0:80ee8f3b695e 478 __STATIC_INLINE void LL_PWR_DisablePVM(uint32_t PeriphVoltage)
EricLew 0:80ee8f3b695e 479 {
EricLew 0:80ee8f3b695e 480 CLEAR_BIT(PWR->CR2, PeriphVoltage);
EricLew 0:80ee8f3b695e 481 }
EricLew 0:80ee8f3b695e 482
EricLew 0:80ee8f3b695e 483 /**
EricLew 0:80ee8f3b695e 484 * @brief Check if Power Voltage Monitoring is enabled on a peripheral
EricLew 0:80ee8f3b695e 485 * @rmtoll CR2 PVME1 LL_PWR_IsEnabledPVM\n
EricLew 0:80ee8f3b695e 486 * CR2 PVME2 LL_PWR_IsEnabledPVM\n
EricLew 0:80ee8f3b695e 487 * CR2 PVME3 LL_PWR_IsEnabledPVM\n
EricLew 0:80ee8f3b695e 488 * CR2 PVME4 LL_PWR_IsEnabledPVM
EricLew 0:80ee8f3b695e 489 * @param PeriphVoltage This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 490 * @arg @ref LL_PWR_PVM_VDDUSB_1_2V (*)
EricLew 0:80ee8f3b695e 491 * @arg @ref LL_PWR_PVM_VDDIO2_0_9V
EricLew 0:80ee8f3b695e 492 * @arg @ref LL_PWR_PVM_VDDA_1_62V
EricLew 0:80ee8f3b695e 493 * @arg @ref LL_PWR_PVM_VDDA_2_2V
EricLew 0:80ee8f3b695e 494 * (*) value not defined in all devices.
EricLew 0:80ee8f3b695e 495 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 496 */
EricLew 0:80ee8f3b695e 497 __STATIC_INLINE uint32_t LL_PWR_IsEnabledPVM(uint32_t PeriphVoltage)
EricLew 0:80ee8f3b695e 498 {
EricLew 0:80ee8f3b695e 499 return (READ_BIT(PWR->CR2, PeriphVoltage) == (PeriphVoltage));
EricLew 0:80ee8f3b695e 500 }
EricLew 0:80ee8f3b695e 501
EricLew 0:80ee8f3b695e 502 /**
EricLew 0:80ee8f3b695e 503 * @brief Configure the voltage threshold detected by the Power Voltage Detector
EricLew 0:80ee8f3b695e 504 * @rmtoll CR2 PLS LL_PWR_SetPVDLevel
EricLew 0:80ee8f3b695e 505 * @param PVDLevel This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 506 * @arg @ref LL_PWR_PVDLEVEL_0
EricLew 0:80ee8f3b695e 507 * @arg @ref LL_PWR_PVDLEVEL_1
EricLew 0:80ee8f3b695e 508 * @arg @ref LL_PWR_PVDLEVEL_2
EricLew 0:80ee8f3b695e 509 * @arg @ref LL_PWR_PVDLEVEL_3
EricLew 0:80ee8f3b695e 510 * @arg @ref LL_PWR_PVDLEVEL_4
EricLew 0:80ee8f3b695e 511 * @arg @ref LL_PWR_PVDLEVEL_5
EricLew 0:80ee8f3b695e 512 * @arg @ref LL_PWR_PVDLEVEL_6
EricLew 0:80ee8f3b695e 513 * @arg @ref LL_PWR_PVDLEVEL_7
EricLew 0:80ee8f3b695e 514 * @retval None
EricLew 0:80ee8f3b695e 515 */
EricLew 0:80ee8f3b695e 516 __STATIC_INLINE void LL_PWR_SetPVDLevel(uint32_t PVDLevel)
EricLew 0:80ee8f3b695e 517 {
EricLew 0:80ee8f3b695e 518 MODIFY_REG(PWR->CR2, PWR_CR2_PLS, PVDLevel);
EricLew 0:80ee8f3b695e 519 }
EricLew 0:80ee8f3b695e 520
EricLew 0:80ee8f3b695e 521 /**
EricLew 0:80ee8f3b695e 522 * @brief Get the voltage threshold detection
EricLew 0:80ee8f3b695e 523 * @rmtoll CR2 PLS LL_PWR_GetPVDLevel
EricLew 0:80ee8f3b695e 524 * @retval Returned value can be one of the following values:
EricLew 0:80ee8f3b695e 525 * @arg @ref LL_PWR_PVDLEVEL_0
EricLew 0:80ee8f3b695e 526 * @arg @ref LL_PWR_PVDLEVEL_1
EricLew 0:80ee8f3b695e 527 * @arg @ref LL_PWR_PVDLEVEL_2
EricLew 0:80ee8f3b695e 528 * @arg @ref LL_PWR_PVDLEVEL_3
EricLew 0:80ee8f3b695e 529 * @arg @ref LL_PWR_PVDLEVEL_4
EricLew 0:80ee8f3b695e 530 * @arg @ref LL_PWR_PVDLEVEL_5
EricLew 0:80ee8f3b695e 531 * @arg @ref LL_PWR_PVDLEVEL_6
EricLew 0:80ee8f3b695e 532 * @arg @ref LL_PWR_PVDLEVEL_7
EricLew 0:80ee8f3b695e 533 */
EricLew 0:80ee8f3b695e 534 __STATIC_INLINE uint32_t LL_PWR_GetPVDLevel(void)
EricLew 0:80ee8f3b695e 535 {
EricLew 0:80ee8f3b695e 536 return (uint32_t)(READ_BIT(PWR->CR2, PWR_CR2_PLS));
EricLew 0:80ee8f3b695e 537 }
EricLew 0:80ee8f3b695e 538
EricLew 0:80ee8f3b695e 539 /**
EricLew 0:80ee8f3b695e 540 * @brief Enable Power Voltage Detector
EricLew 0:80ee8f3b695e 541 * @rmtoll CR2 PVDE LL_PWR_EnablePVD
EricLew 0:80ee8f3b695e 542 * @retval None
EricLew 0:80ee8f3b695e 543 */
EricLew 0:80ee8f3b695e 544 __STATIC_INLINE void LL_PWR_EnablePVD(void)
EricLew 0:80ee8f3b695e 545 {
EricLew 0:80ee8f3b695e 546 SET_BIT(PWR->CR2, PWR_CR2_PVDE);
EricLew 0:80ee8f3b695e 547 }
EricLew 0:80ee8f3b695e 548
EricLew 0:80ee8f3b695e 549 /**
EricLew 0:80ee8f3b695e 550 * @brief Disable Power Voltage Detector
EricLew 0:80ee8f3b695e 551 * @rmtoll CR2 PVDE LL_PWR_DisablePVD
EricLew 0:80ee8f3b695e 552 * @retval None
EricLew 0:80ee8f3b695e 553 */
EricLew 0:80ee8f3b695e 554 __STATIC_INLINE void LL_PWR_DisablePVD(void)
EricLew 0:80ee8f3b695e 555 {
EricLew 0:80ee8f3b695e 556 CLEAR_BIT(PWR->CR2, PWR_CR2_PVDE);
EricLew 0:80ee8f3b695e 557 }
EricLew 0:80ee8f3b695e 558
EricLew 0:80ee8f3b695e 559 /**
EricLew 0:80ee8f3b695e 560 * @brief Check if Power Voltage Detector is enabled
EricLew 0:80ee8f3b695e 561 * @rmtoll CR2 PVDE LL_PWR_IsEnabledPVD
EricLew 0:80ee8f3b695e 562 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 563 */
EricLew 0:80ee8f3b695e 564 __STATIC_INLINE uint32_t LL_PWR_IsEnabledPVD(void)
EricLew 0:80ee8f3b695e 565 {
EricLew 0:80ee8f3b695e 566 return (READ_BIT(PWR->CR2, PWR_CR2_PVDE) == (PWR_CR2_PVDE));
EricLew 0:80ee8f3b695e 567 }
EricLew 0:80ee8f3b695e 568
EricLew 0:80ee8f3b695e 569 /**
EricLew 0:80ee8f3b695e 570 * @brief Enable Internal Wake-up line
EricLew 0:80ee8f3b695e 571 * @rmtoll CR3 EIWF LL_PWR_EnableInternWU
EricLew 0:80ee8f3b695e 572 * @retval None
EricLew 0:80ee8f3b695e 573 */
EricLew 0:80ee8f3b695e 574 __STATIC_INLINE void LL_PWR_EnableInternWU(void)
EricLew 0:80ee8f3b695e 575 {
EricLew 0:80ee8f3b695e 576 SET_BIT(PWR->CR3, PWR_CR3_EIWF);
EricLew 0:80ee8f3b695e 577 }
EricLew 0:80ee8f3b695e 578
EricLew 0:80ee8f3b695e 579 /**
EricLew 0:80ee8f3b695e 580 * @brief Disable Internal Wake-up line
EricLew 0:80ee8f3b695e 581 * @rmtoll CR3 EIWF LL_PWR_DisableInternWU
EricLew 0:80ee8f3b695e 582 * @retval None
EricLew 0:80ee8f3b695e 583 */
EricLew 0:80ee8f3b695e 584 __STATIC_INLINE void LL_PWR_DisableInternWU(void)
EricLew 0:80ee8f3b695e 585 {
EricLew 0:80ee8f3b695e 586 CLEAR_BIT(PWR->CR3, PWR_CR3_EIWF);
EricLew 0:80ee8f3b695e 587 }
EricLew 0:80ee8f3b695e 588
EricLew 0:80ee8f3b695e 589 /**
EricLew 0:80ee8f3b695e 590 * @brief Check if Internal Wake-up line is enabled
EricLew 0:80ee8f3b695e 591 * @rmtoll CR3 EIWF LL_PWR_IsEnabledInternWU
EricLew 0:80ee8f3b695e 592 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 593 */
EricLew 0:80ee8f3b695e 594 __STATIC_INLINE uint32_t LL_PWR_IsEnabledInternWU(void)
EricLew 0:80ee8f3b695e 595 {
EricLew 0:80ee8f3b695e 596 return (READ_BIT(PWR->CR3, PWR_CR3_EIWF) == (PWR_CR3_EIWF));
EricLew 0:80ee8f3b695e 597 }
EricLew 0:80ee8f3b695e 598
EricLew 0:80ee8f3b695e 599 /**
EricLew 0:80ee8f3b695e 600 * @brief Enable pull-up and pull-down configuration
EricLew 0:80ee8f3b695e 601 * @rmtoll CR3 APC LL_PWR_EnablePUPDCfg
EricLew 0:80ee8f3b695e 602 * @retval None
EricLew 0:80ee8f3b695e 603 */
EricLew 0:80ee8f3b695e 604 __STATIC_INLINE void LL_PWR_EnablePUPDCfg(void)
EricLew 0:80ee8f3b695e 605 {
EricLew 0:80ee8f3b695e 606 SET_BIT(PWR->CR3, PWR_CR3_APC);
EricLew 0:80ee8f3b695e 607 }
EricLew 0:80ee8f3b695e 608
EricLew 0:80ee8f3b695e 609 /**
EricLew 0:80ee8f3b695e 610 * @brief Disable pull-up and pull-down configuration
EricLew 0:80ee8f3b695e 611 * @rmtoll CR3 APC LL_PWR_DisablePUPDCfg
EricLew 0:80ee8f3b695e 612 * @retval None
EricLew 0:80ee8f3b695e 613 */
EricLew 0:80ee8f3b695e 614 __STATIC_INLINE void LL_PWR_DisablePUPDCfg(void)
EricLew 0:80ee8f3b695e 615 {
EricLew 0:80ee8f3b695e 616 CLEAR_BIT(PWR->CR3, PWR_CR3_APC);
EricLew 0:80ee8f3b695e 617 }
EricLew 0:80ee8f3b695e 618
EricLew 0:80ee8f3b695e 619 /**
EricLew 0:80ee8f3b695e 620 * @brief Check if pull-up and pull-down configuration is enabled
EricLew 0:80ee8f3b695e 621 * @rmtoll CR3 APC LL_PWR_IsEnabledPUPDCfg
EricLew 0:80ee8f3b695e 622 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 623 */
EricLew 0:80ee8f3b695e 624 __STATIC_INLINE uint32_t LL_PWR_IsEnabledPUPDCfg(void)
EricLew 0:80ee8f3b695e 625 {
EricLew 0:80ee8f3b695e 626 return (READ_BIT(PWR->CR3, PWR_CR3_APC) == (PWR_CR3_APC));
EricLew 0:80ee8f3b695e 627 }
EricLew 0:80ee8f3b695e 628
EricLew 0:80ee8f3b695e 629 /**
EricLew 0:80ee8f3b695e 630 * @brief Enable SRAM2 content retention in Standby mode
EricLew 0:80ee8f3b695e 631 * @rmtoll CR3 RRS LL_PWR_EnableSRAM2Retention
EricLew 0:80ee8f3b695e 632 * @retval None
EricLew 0:80ee8f3b695e 633 */
EricLew 0:80ee8f3b695e 634 __STATIC_INLINE void LL_PWR_EnableSRAM2Retention(void)
EricLew 0:80ee8f3b695e 635 {
EricLew 0:80ee8f3b695e 636 SET_BIT(PWR->CR3, PWR_CR3_RRS);
EricLew 0:80ee8f3b695e 637 }
EricLew 0:80ee8f3b695e 638
EricLew 0:80ee8f3b695e 639 /**
EricLew 0:80ee8f3b695e 640 * @brief Disable SRAM2 content retention in Standby mode
EricLew 0:80ee8f3b695e 641 * @rmtoll CR3 RRS LL_PWR_DisableSRAM2Retention
EricLew 0:80ee8f3b695e 642 * @retval None
EricLew 0:80ee8f3b695e 643 */
EricLew 0:80ee8f3b695e 644 __STATIC_INLINE void LL_PWR_DisableSRAM2Retention(void)
EricLew 0:80ee8f3b695e 645 {
EricLew 0:80ee8f3b695e 646 CLEAR_BIT(PWR->CR3, PWR_CR3_RRS);
EricLew 0:80ee8f3b695e 647 }
EricLew 0:80ee8f3b695e 648
EricLew 0:80ee8f3b695e 649 /**
EricLew 0:80ee8f3b695e 650 * @brief Check if SRAM2 content retention in Standby mode is enabled
EricLew 0:80ee8f3b695e 651 * @rmtoll CR3 RRS LL_PWR_IsEnabledSRAM2Retention
EricLew 0:80ee8f3b695e 652 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 653 */
EricLew 0:80ee8f3b695e 654 __STATIC_INLINE uint32_t LL_PWR_IsEnabledSRAM2Retention(void)
EricLew 0:80ee8f3b695e 655 {
EricLew 0:80ee8f3b695e 656 return (READ_BIT(PWR->CR3, PWR_CR3_RRS) == (PWR_CR3_RRS));
EricLew 0:80ee8f3b695e 657 }
EricLew 0:80ee8f3b695e 658
EricLew 0:80ee8f3b695e 659 /**
EricLew 0:80ee8f3b695e 660 * @brief Enable the WakeUp PINx functionality
EricLew 0:80ee8f3b695e 661 * @rmtoll CR3 EWUP1 LL_PWR_EnableWakeUpPin\n
EricLew 0:80ee8f3b695e 662 * CR3 EWUP2 LL_PWR_EnableWakeUpPin\n
EricLew 0:80ee8f3b695e 663 * CR3 EWUP3 LL_PWR_EnableWakeUpPin\n
EricLew 0:80ee8f3b695e 664 * CR3 EWUP4 LL_PWR_EnableWakeUpPin\n
EricLew 0:80ee8f3b695e 665 * CR3 EWUP5 LL_PWR_EnableWakeUpPin
EricLew 0:80ee8f3b695e 666 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 667 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 668 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 669 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 670 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 671 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 672 * @retval None
EricLew 0:80ee8f3b695e 673 */
EricLew 0:80ee8f3b695e 674 __STATIC_INLINE void LL_PWR_EnableWakeUpPin(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 675 {
EricLew 0:80ee8f3b695e 676 SET_BIT(PWR->CR3, WakeUpPin);
EricLew 0:80ee8f3b695e 677 }
EricLew 0:80ee8f3b695e 678
EricLew 0:80ee8f3b695e 679 /**
EricLew 0:80ee8f3b695e 680 * @brief Disable the WakeUp PINx functionality
EricLew 0:80ee8f3b695e 681 * @rmtoll CR3 EWUP1 LL_PWR_DisableWakeUpPin\n
EricLew 0:80ee8f3b695e 682 * CR3 EWUP2 LL_PWR_DisableWakeUpPin\n
EricLew 0:80ee8f3b695e 683 * CR3 EWUP3 LL_PWR_DisableWakeUpPin\n
EricLew 0:80ee8f3b695e 684 * CR3 EWUP4 LL_PWR_DisableWakeUpPin\n
EricLew 0:80ee8f3b695e 685 * CR3 EWUP5 LL_PWR_DisableWakeUpPin
EricLew 0:80ee8f3b695e 686 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 687 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 688 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 689 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 690 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 691 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 692 * @retval None
EricLew 0:80ee8f3b695e 693 */
EricLew 0:80ee8f3b695e 694 __STATIC_INLINE void LL_PWR_DisableWakeUpPin(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 695 {
EricLew 0:80ee8f3b695e 696 CLEAR_BIT(PWR->CR3, WakeUpPin);
EricLew 0:80ee8f3b695e 697 }
EricLew 0:80ee8f3b695e 698
EricLew 0:80ee8f3b695e 699 /**
EricLew 0:80ee8f3b695e 700 * @brief Check if the WakeUp PINx functionality is enabled
EricLew 0:80ee8f3b695e 701 * @rmtoll CR3 EWUP1 LL_PWR_IsEnabledWakeUpPin\n
EricLew 0:80ee8f3b695e 702 * CR3 EWUP2 LL_PWR_IsEnabledWakeUpPin\n
EricLew 0:80ee8f3b695e 703 * CR3 EWUP3 LL_PWR_IsEnabledWakeUpPin\n
EricLew 0:80ee8f3b695e 704 * CR3 EWUP4 LL_PWR_IsEnabledWakeUpPin\n
EricLew 0:80ee8f3b695e 705 * CR3 EWUP5 LL_PWR_IsEnabledWakeUpPin
EricLew 0:80ee8f3b695e 706 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 707 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 708 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 709 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 710 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 711 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 712 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 713 */
EricLew 0:80ee8f3b695e 714 __STATIC_INLINE uint32_t LL_PWR_IsEnabledWakeUpPin(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 715 {
EricLew 0:80ee8f3b695e 716 return (READ_BIT(PWR->CR3, WakeUpPin) == (WakeUpPin));
EricLew 0:80ee8f3b695e 717 }
EricLew 0:80ee8f3b695e 718
EricLew 0:80ee8f3b695e 719 /**
EricLew 0:80ee8f3b695e 720 * @brief Set the resistor impedance
EricLew 0:80ee8f3b695e 721 * @rmtoll CR4 VBRS LL_PWR_SetBattChargResistor
EricLew 0:80ee8f3b695e 722 * @param Resistor This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 723 * @arg @ref LL_PWR_BATT_CHARG_RESISTOR_5K
EricLew 0:80ee8f3b695e 724 * @arg @ref LL_PWR_BATT_CHARGRESISTOR_1_5K
EricLew 0:80ee8f3b695e 725 * @retval None
EricLew 0:80ee8f3b695e 726 */
EricLew 0:80ee8f3b695e 727 __STATIC_INLINE void LL_PWR_SetBattChargResistor(uint32_t Resistor)
EricLew 0:80ee8f3b695e 728 {
EricLew 0:80ee8f3b695e 729 MODIFY_REG(PWR->CR4, PWR_CR4_VBRS, Resistor);
EricLew 0:80ee8f3b695e 730 }
EricLew 0:80ee8f3b695e 731
EricLew 0:80ee8f3b695e 732 /**
EricLew 0:80ee8f3b695e 733 * @brief Get the resistor impedance
EricLew 0:80ee8f3b695e 734 * @rmtoll CR4 VBRS LL_PWR_GetBattChargResistor
EricLew 0:80ee8f3b695e 735 * @retval Returned value can be one of the following values:
EricLew 0:80ee8f3b695e 736 * @arg @ref LL_PWR_BATT_CHARG_RESISTOR_5K
EricLew 0:80ee8f3b695e 737 * @arg @ref LL_PWR_BATT_CHARGRESISTOR_1_5K
EricLew 0:80ee8f3b695e 738 */
EricLew 0:80ee8f3b695e 739 __STATIC_INLINE uint32_t LL_PWR_GetBattChargResistor(void)
EricLew 0:80ee8f3b695e 740 {
EricLew 0:80ee8f3b695e 741 return (uint32_t)(READ_BIT(PWR->CR4, PWR_CR4_VBRS));
EricLew 0:80ee8f3b695e 742 }
EricLew 0:80ee8f3b695e 743
EricLew 0:80ee8f3b695e 744 /**
EricLew 0:80ee8f3b695e 745 * @brief Enable battery charging
EricLew 0:80ee8f3b695e 746 * @rmtoll CR4 VBE LL_PWR_EnableBatteryCharging
EricLew 0:80ee8f3b695e 747 * @retval None
EricLew 0:80ee8f3b695e 748 */
EricLew 0:80ee8f3b695e 749 __STATIC_INLINE void LL_PWR_EnableBatteryCharging(void)
EricLew 0:80ee8f3b695e 750 {
EricLew 0:80ee8f3b695e 751 SET_BIT(PWR->CR4, PWR_CR4_VBE);
EricLew 0:80ee8f3b695e 752 }
EricLew 0:80ee8f3b695e 753
EricLew 0:80ee8f3b695e 754 /**
EricLew 0:80ee8f3b695e 755 * @brief Disable battery charging
EricLew 0:80ee8f3b695e 756 * @rmtoll CR4 VBE LL_PWR_DisableBatteryCharging
EricLew 0:80ee8f3b695e 757 * @retval None
EricLew 0:80ee8f3b695e 758 */
EricLew 0:80ee8f3b695e 759 __STATIC_INLINE void LL_PWR_DisableBatteryCharging(void)
EricLew 0:80ee8f3b695e 760 {
EricLew 0:80ee8f3b695e 761 CLEAR_BIT(PWR->CR4, PWR_CR4_VBE);
EricLew 0:80ee8f3b695e 762 }
EricLew 0:80ee8f3b695e 763
EricLew 0:80ee8f3b695e 764 /**
EricLew 0:80ee8f3b695e 765 * @brief Check if battery charging is enabled
EricLew 0:80ee8f3b695e 766 * @rmtoll CR4 VBE LL_PWR_IsEnabledBatteryCharging
EricLew 0:80ee8f3b695e 767 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 768 */
EricLew 0:80ee8f3b695e 769 __STATIC_INLINE uint32_t LL_PWR_IsEnabledBatteryCharging(void)
EricLew 0:80ee8f3b695e 770 {
EricLew 0:80ee8f3b695e 771 return (READ_BIT(PWR->CR4, PWR_CR4_VBE) == (PWR_CR4_VBE));
EricLew 0:80ee8f3b695e 772 }
EricLew 0:80ee8f3b695e 773
EricLew 0:80ee8f3b695e 774 /**
EricLew 0:80ee8f3b695e 775 * @brief Set the Wake-Up pin polarity low for the event detection
EricLew 0:80ee8f3b695e 776 * @rmtoll CR4 WP1 LL_PWR_SetWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 777 * CR4 WP2 LL_PWR_SetWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 778 * CR4 WP3 LL_PWR_SetWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 779 * CR4 WP4 LL_PWR_SetWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 780 * CR4 WP5 LL_PWR_SetWakeUpPinPolarityLow
EricLew 0:80ee8f3b695e 781 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 782 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 783 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 784 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 785 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 786 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 787 * @retval None
EricLew 0:80ee8f3b695e 788 */
EricLew 0:80ee8f3b695e 789 __STATIC_INLINE void LL_PWR_SetWakeUpPinPolarityLow(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 790 {
EricLew 0:80ee8f3b695e 791 SET_BIT(PWR->CR4, WakeUpPin);
EricLew 0:80ee8f3b695e 792 }
EricLew 0:80ee8f3b695e 793
EricLew 0:80ee8f3b695e 794 /**
EricLew 0:80ee8f3b695e 795 * @brief Set the Wake-Up pin polarity high for the event detection
EricLew 0:80ee8f3b695e 796 * @rmtoll CR4 WP1 LL_PWR_SetWakeUpPinPolarityHigh\n
EricLew 0:80ee8f3b695e 797 * CR4 WP2 LL_PWR_SetWakeUpPinPolarityHigh\n
EricLew 0:80ee8f3b695e 798 * CR4 WP3 LL_PWR_SetWakeUpPinPolarityHigh\n
EricLew 0:80ee8f3b695e 799 * CR4 WP4 LL_PWR_SetWakeUpPinPolarityHigh\n
EricLew 0:80ee8f3b695e 800 * CR4 WP5 LL_PWR_SetWakeUpPinPolarityHigh
EricLew 0:80ee8f3b695e 801 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 802 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 803 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 804 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 805 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 806 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 807 * @retval None
EricLew 0:80ee8f3b695e 808 */
EricLew 0:80ee8f3b695e 809 __STATIC_INLINE void LL_PWR_SetWakeUpPinPolarityHigh(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 810 {
EricLew 0:80ee8f3b695e 811 CLEAR_BIT(PWR->CR4, WakeUpPin);
EricLew 0:80ee8f3b695e 812 }
EricLew 0:80ee8f3b695e 813
EricLew 0:80ee8f3b695e 814 /**
EricLew 0:80ee8f3b695e 815 * @brief Get the Wake-Up pin polarity for the event detection
EricLew 0:80ee8f3b695e 816 * @rmtoll CR4 WP1 LL_PWR_IsWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 817 * CR4 WP2 LL_PWR_IsWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 818 * CR4 WP3 LL_PWR_IsWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 819 * CR4 WP4 LL_PWR_IsWakeUpPinPolarityLow\n
EricLew 0:80ee8f3b695e 820 * CR4 WP5 LL_PWR_IsWakeUpPinPolarityLow
EricLew 0:80ee8f3b695e 821 * @param WakeUpPin This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 822 * @arg @ref LL_PWR_WAKEUP_PIN1
EricLew 0:80ee8f3b695e 823 * @arg @ref LL_PWR_WAKEUP_PIN2
EricLew 0:80ee8f3b695e 824 * @arg @ref LL_PWR_WAKEUP_PIN3
EricLew 0:80ee8f3b695e 825 * @arg @ref LL_PWR_WAKEUP_PIN4
EricLew 0:80ee8f3b695e 826 * @arg @ref LL_PWR_WAKEUP_PIN5
EricLew 0:80ee8f3b695e 827 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 828 */
EricLew 0:80ee8f3b695e 829 __STATIC_INLINE uint32_t LL_PWR_IsWakeUpPinPolarityLow(uint32_t WakeUpPin)
EricLew 0:80ee8f3b695e 830 {
EricLew 0:80ee8f3b695e 831 return (READ_BIT(PWR->CR4, WakeUpPin) == (WakeUpPin));
EricLew 0:80ee8f3b695e 832 }
EricLew 0:80ee8f3b695e 833
EricLew 0:80ee8f3b695e 834 /**
EricLew 0:80ee8f3b695e 835 * @brief Enable GPIO pull-up state in Standby and Shutdown modes
EricLew 0:80ee8f3b695e 836 * @rmtoll PUCRA PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 837 * PUCRB PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 838 * PUCRC PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 839 * PUCRD PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 840 * PUCRE PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 841 * PUCRF PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 842 * PUCRG PU0-15 LL_PWR_EnableGPIOPullUp\n
EricLew 0:80ee8f3b695e 843 * PUCRH PU0-1 LL_PWR_EnableGPIOPullUp
EricLew 0:80ee8f3b695e 844 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 845 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 846 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 847 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 848 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 849 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 850 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 851 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 852 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 853 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 854 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 855 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 856 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 857 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 858 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 859 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 860 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 861 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 862 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 863 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 864 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 865 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 866 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 867 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 868 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 869 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 870 * @retval None
EricLew 0:80ee8f3b695e 871 */
EricLew 0:80ee8f3b695e 872 __STATIC_INLINE void LL_PWR_EnableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 873 {
EricLew 0:80ee8f3b695e 874 SET_BIT(*((uint32_t*)GPIO), GPIONumber);
EricLew 0:80ee8f3b695e 875 }
EricLew 0:80ee8f3b695e 876
EricLew 0:80ee8f3b695e 877 /**
EricLew 0:80ee8f3b695e 878 * @brief Disable GPIO pull-up state in Standby and Shutdown modes
EricLew 0:80ee8f3b695e 879 * @rmtoll PUCRA PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 880 * PUCRB PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 881 * PUCRC PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 882 * PUCRD PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 883 * PUCRE PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 884 * PUCRF PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 885 * PUCRG PU0-15 LL_PWR_DisableGPIOPullUp\n
EricLew 0:80ee8f3b695e 886 * PUCRH PU0-1 LL_PWR_DisableGPIOPullUp
EricLew 0:80ee8f3b695e 887 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 888 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 889 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 890 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 891 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 892 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 893 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 894 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 895 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 896 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 897 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 898 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 899 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 900 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 901 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 902 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 903 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 904 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 905 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 906 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 907 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 908 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 909 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 910 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 911 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 912 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 913 * @retval None
EricLew 0:80ee8f3b695e 914 */
EricLew 0:80ee8f3b695e 915 __STATIC_INLINE void LL_PWR_DisableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 916 {
EricLew 0:80ee8f3b695e 917 CLEAR_BIT(*((uint32_t*)GPIO), GPIONumber);
EricLew 0:80ee8f3b695e 918 }
EricLew 0:80ee8f3b695e 919
EricLew 0:80ee8f3b695e 920 /**
EricLew 0:80ee8f3b695e 921 * @brief Check if GPIO pull-up state is enabled
EricLew 0:80ee8f3b695e 922 * @rmtoll PUCRA PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 923 * PUCRB PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 924 * PUCRC PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 925 * PUCRD PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 926 * PUCRE PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 927 * PUCRF PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 928 * PUCRG PU0-15 LL_PWR_IsEnabledGPIOPullUp\n
EricLew 0:80ee8f3b695e 929 * PUCRH PU0-1 LL_PWR_IsEnabledGPIOPullUp
EricLew 0:80ee8f3b695e 930 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 931 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 932 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 933 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 934 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 935 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 936 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 937 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 938 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 939 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 940 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 941 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 942 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 943 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 944 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 945 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 946 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 947 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 948 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 949 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 950 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 951 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 952 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 953 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 954 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 955 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 956 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 957 */
EricLew 0:80ee8f3b695e 958 __STATIC_INLINE uint32_t LL_PWR_IsEnabledGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 959 {
EricLew 0:80ee8f3b695e 960 return(READ_BIT(*((uint32_t*)(GPIO)), GPIONumber) == (GPIONumber));
EricLew 0:80ee8f3b695e 961 }
EricLew 0:80ee8f3b695e 962
EricLew 0:80ee8f3b695e 963 /**
EricLew 0:80ee8f3b695e 964 * @brief Enable GPIO pull-down state in Standby and Shutdown modes
EricLew 0:80ee8f3b695e 965 * @rmtoll PDCRA PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 966 * PDCRB PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 967 * PDCRC PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 968 * PDCRD PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 969 * PDCRE PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 970 * PDCRF PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 971 * PDCRG PD0-15 LL_PWR_EnableGPIOPullDown\n
EricLew 0:80ee8f3b695e 972 * PDCRH PD0-1 LL_PWR_EnableGPIOPullDown
EricLew 0:80ee8f3b695e 973 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 974 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 975 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 976 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 977 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 978 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 979 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 980 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 981 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 982 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 983 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 984 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 985 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 986 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 987 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 988 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 989 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 990 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 991 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 992 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 993 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 994 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 995 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 996 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 997 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 998 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 999 * @retval None
EricLew 0:80ee8f3b695e 1000 */
EricLew 0:80ee8f3b695e 1001 __STATIC_INLINE void LL_PWR_EnableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 1002 {
EricLew 0:80ee8f3b695e 1003 register uint32_t temp = (uint32_t)(GPIO) + 4;
EricLew 0:80ee8f3b695e 1004 SET_BIT(*((uint32_t*)(temp)), GPIONumber);
EricLew 0:80ee8f3b695e 1005 }
EricLew 0:80ee8f3b695e 1006
EricLew 0:80ee8f3b695e 1007 /**
EricLew 0:80ee8f3b695e 1008 * @brief Disable GPIO pull-down state in Standby and Shutdown modes
EricLew 0:80ee8f3b695e 1009 * @rmtoll PDCRA PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1010 * PDCRB PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1011 * PDCRC PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1012 * PDCRD PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1013 * PDCRE PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1014 * PDCRF PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1015 * PDCRG PD0-15 LL_PWR_DisableGPIOPullDown\n
EricLew 0:80ee8f3b695e 1016 * PDCRH PD0-1 LL_PWR_DisableGPIOPullDown
EricLew 0:80ee8f3b695e 1017 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 1018 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 1019 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 1020 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 1021 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 1022 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 1023 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 1024 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 1025 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 1026 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 1027 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 1028 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 1029 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 1030 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 1031 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 1032 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 1033 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 1034 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 1035 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 1036 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 1037 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 1038 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 1039 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 1040 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 1041 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 1042 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 1043 * @retval None
EricLew 0:80ee8f3b695e 1044 */
EricLew 0:80ee8f3b695e 1045 __STATIC_INLINE void LL_PWR_DisableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 1046 {
EricLew 0:80ee8f3b695e 1047 register uint32_t temp = (uint32_t)(GPIO) + 4;
EricLew 0:80ee8f3b695e 1048 CLEAR_BIT(*((uint32_t*)(temp)), GPIONumber);
EricLew 0:80ee8f3b695e 1049 }
EricLew 0:80ee8f3b695e 1050
EricLew 0:80ee8f3b695e 1051 /**
EricLew 0:80ee8f3b695e 1052 * @brief Check if GPIO pull-down state is enabled
EricLew 0:80ee8f3b695e 1053 * @rmtoll PDCRA PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1054 * PDCRB PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1055 * PDCRC PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1056 * PDCRD PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1057 * PDCRE PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1058 * PDCRF PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1059 * PDCRG PD0-15 LL_PWR_IsEnabledGPIOPullDown\n
EricLew 0:80ee8f3b695e 1060 * PDCRH PD0-1 LL_PWR_IsEnabledGPIOPullDown
EricLew 0:80ee8f3b695e 1061 * @param GPIO This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 1062 * @arg @ref LL_PWR_GPIO_A
EricLew 0:80ee8f3b695e 1063 * @arg @ref LL_PWR_GPIO_B
EricLew 0:80ee8f3b695e 1064 * @arg @ref LL_PWR_GPIO_C
EricLew 0:80ee8f3b695e 1065 * @arg @ref LL_PWR_GPIO_D
EricLew 0:80ee8f3b695e 1066 * @arg @ref LL_PWR_GPIO_E
EricLew 0:80ee8f3b695e 1067 * @arg @ref LL_PWR_GPIO_F
EricLew 0:80ee8f3b695e 1068 * @arg @ref LL_PWR_GPIO_G
EricLew 0:80ee8f3b695e 1069 * @arg @ref LL_PWR_GPIO_H
EricLew 0:80ee8f3b695e 1070 * @param GPIONumber This parameter can be one of the following values:
EricLew 0:80ee8f3b695e 1071 * @arg @ref LL_PWR_GPIO_BIT_0
EricLew 0:80ee8f3b695e 1072 * @arg @ref LL_PWR_GPIO_BIT_1
EricLew 0:80ee8f3b695e 1073 * @arg @ref LL_PWR_GPIO_BIT_2
EricLew 0:80ee8f3b695e 1074 * @arg @ref LL_PWR_GPIO_BIT_3
EricLew 0:80ee8f3b695e 1075 * @arg @ref LL_PWR_GPIO_BIT_4
EricLew 0:80ee8f3b695e 1076 * @arg @ref LL_PWR_GPIO_BIT_5
EricLew 0:80ee8f3b695e 1077 * @arg @ref LL_PWR_GPIO_BIT_6
EricLew 0:80ee8f3b695e 1078 * @arg @ref LL_PWR_GPIO_BIT_7
EricLew 0:80ee8f3b695e 1079 * @arg @ref LL_PWR_GPIO_BIT_8
EricLew 0:80ee8f3b695e 1080 * @arg @ref LL_PWR_GPIO_BIT_9
EricLew 0:80ee8f3b695e 1081 * @arg @ref LL_PWR_GPIO_BIT_10
EricLew 0:80ee8f3b695e 1082 * @arg @ref LL_PWR_GPIO_BIT_11
EricLew 0:80ee8f3b695e 1083 * @arg @ref LL_PWR_GPIO_BIT_12
EricLew 0:80ee8f3b695e 1084 * @arg @ref LL_PWR_GPIO_BIT_13
EricLew 0:80ee8f3b695e 1085 * @arg @ref LL_PWR_GPIO_BIT_14
EricLew 0:80ee8f3b695e 1086 * @arg @ref LL_PWR_GPIO_BIT_15
EricLew 0:80ee8f3b695e 1087 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1088 */
EricLew 0:80ee8f3b695e 1089 __STATIC_INLINE uint32_t LL_PWR_IsEnabledGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber)
EricLew 0:80ee8f3b695e 1090 {
EricLew 0:80ee8f3b695e 1091 register uint32_t temp = (uint32_t)(GPIO) + 4;
EricLew 0:80ee8f3b695e 1092 return(READ_BIT(*((uint32_t*)(temp)), GPIONumber) == (GPIONumber));
EricLew 0:80ee8f3b695e 1093 }
EricLew 0:80ee8f3b695e 1094
EricLew 0:80ee8f3b695e 1095 /**
EricLew 0:80ee8f3b695e 1096 * @}
EricLew 0:80ee8f3b695e 1097 */
EricLew 0:80ee8f3b695e 1098
EricLew 0:80ee8f3b695e 1099 /** @defgroup PWR_LL_EF_FLAG_Management FLAG_Management
EricLew 0:80ee8f3b695e 1100 * @{
EricLew 0:80ee8f3b695e 1101 */
EricLew 0:80ee8f3b695e 1102
EricLew 0:80ee8f3b695e 1103 /**
EricLew 0:80ee8f3b695e 1104 * @brief Get Internal Wake-up line Flag
EricLew 0:80ee8f3b695e 1105 * @rmtoll SR1 WUFI LL_PWR_IsActiveFlag_InternWU
EricLew 0:80ee8f3b695e 1106 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1107 */
EricLew 0:80ee8f3b695e 1108 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_InternWU(void)
EricLew 0:80ee8f3b695e 1109 {
EricLew 0:80ee8f3b695e 1110 return (READ_BIT(PWR->SR1, PWR_SR1_WUFI) == (PWR_SR1_WUFI));
EricLew 0:80ee8f3b695e 1111 }
EricLew 0:80ee8f3b695e 1112
EricLew 0:80ee8f3b695e 1113 /**
EricLew 0:80ee8f3b695e 1114 * @brief Get Stand-By Flag
EricLew 0:80ee8f3b695e 1115 * @rmtoll SR1 SBF LL_PWR_IsActiveFlag_SB
EricLew 0:80ee8f3b695e 1116 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1117 */
EricLew 0:80ee8f3b695e 1118 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_SB(void)
EricLew 0:80ee8f3b695e 1119 {
EricLew 0:80ee8f3b695e 1120 return (READ_BIT(PWR->SR1, PWR_SR1_SBF) == (PWR_SR1_SBF));
EricLew 0:80ee8f3b695e 1121 }
EricLew 0:80ee8f3b695e 1122
EricLew 0:80ee8f3b695e 1123 /**
EricLew 0:80ee8f3b695e 1124 * @brief Get Wake-up Flag 5
EricLew 0:80ee8f3b695e 1125 * @rmtoll SR1 WUF5 LL_PWR_IsActiveFlag_WU5
EricLew 0:80ee8f3b695e 1126 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1127 */
EricLew 0:80ee8f3b695e 1128 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU5(void)
EricLew 0:80ee8f3b695e 1129 {
EricLew 0:80ee8f3b695e 1130 return (READ_BIT(PWR->SR1, PWR_SR1_WUF5) == (PWR_SR1_WUF5));
EricLew 0:80ee8f3b695e 1131 }
EricLew 0:80ee8f3b695e 1132
EricLew 0:80ee8f3b695e 1133 /**
EricLew 0:80ee8f3b695e 1134 * @brief Get Wake-up Flag 4
EricLew 0:80ee8f3b695e 1135 * @rmtoll SR1 WUF4 LL_PWR_IsActiveFlag_WU4
EricLew 0:80ee8f3b695e 1136 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1137 */
EricLew 0:80ee8f3b695e 1138 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU4(void)
EricLew 0:80ee8f3b695e 1139 {
EricLew 0:80ee8f3b695e 1140 return (READ_BIT(PWR->SR1, PWR_SR1_WUF4) == (PWR_SR1_WUF4));
EricLew 0:80ee8f3b695e 1141 }
EricLew 0:80ee8f3b695e 1142
EricLew 0:80ee8f3b695e 1143 /**
EricLew 0:80ee8f3b695e 1144 * @brief Get Wake-up Flag 3
EricLew 0:80ee8f3b695e 1145 * @rmtoll SR1 WUF3 LL_PWR_IsActiveFlag_WU3
EricLew 0:80ee8f3b695e 1146 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1147 */
EricLew 0:80ee8f3b695e 1148 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU3(void)
EricLew 0:80ee8f3b695e 1149 {
EricLew 0:80ee8f3b695e 1150 return (READ_BIT(PWR->SR1, PWR_SR1_WUF3) == (PWR_SR1_WUF3));
EricLew 0:80ee8f3b695e 1151 }
EricLew 0:80ee8f3b695e 1152
EricLew 0:80ee8f3b695e 1153 /**
EricLew 0:80ee8f3b695e 1154 * @brief Get Wake-up Flag 2
EricLew 0:80ee8f3b695e 1155 * @rmtoll SR1 WUF2 LL_PWR_IsActiveFlag_WU2
EricLew 0:80ee8f3b695e 1156 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1157 */
EricLew 0:80ee8f3b695e 1158 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU2(void)
EricLew 0:80ee8f3b695e 1159 {
EricLew 0:80ee8f3b695e 1160 return (READ_BIT(PWR->SR1, PWR_SR1_WUF2) == (PWR_SR1_WUF2));
EricLew 0:80ee8f3b695e 1161 }
EricLew 0:80ee8f3b695e 1162
EricLew 0:80ee8f3b695e 1163 /**
EricLew 0:80ee8f3b695e 1164 * @brief Get Wake-up Flag 1
EricLew 0:80ee8f3b695e 1165 * @rmtoll SR1 WUF1 LL_PWR_IsActiveFlag_WU1
EricLew 0:80ee8f3b695e 1166 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1167 */
EricLew 0:80ee8f3b695e 1168 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU1(void)
EricLew 0:80ee8f3b695e 1169 {
EricLew 0:80ee8f3b695e 1170 return (READ_BIT(PWR->SR1, PWR_SR1_WUF1) == (PWR_SR1_WUF1));
EricLew 0:80ee8f3b695e 1171 }
EricLew 0:80ee8f3b695e 1172
EricLew 0:80ee8f3b695e 1173 /**
EricLew 0:80ee8f3b695e 1174 * @brief Clear Stand-By Flag
EricLew 0:80ee8f3b695e 1175 * @rmtoll SCR CSBF LL_PWR_ClearFlag_SB
EricLew 0:80ee8f3b695e 1176 * @retval None
EricLew 0:80ee8f3b695e 1177 */
EricLew 0:80ee8f3b695e 1178 __STATIC_INLINE void LL_PWR_ClearFlag_SB(void)
EricLew 0:80ee8f3b695e 1179 {
EricLew 0:80ee8f3b695e 1180 WRITE_REG(PWR->SCR, PWR_SCR_CSBF);
EricLew 0:80ee8f3b695e 1181 }
EricLew 0:80ee8f3b695e 1182
EricLew 0:80ee8f3b695e 1183 /**
EricLew 0:80ee8f3b695e 1184 * @brief Clear Wake-up Flags
EricLew 0:80ee8f3b695e 1185 * @rmtoll SCR CWUF LL_PWR_ClearFlag_WU
EricLew 0:80ee8f3b695e 1186 * @retval None
EricLew 0:80ee8f3b695e 1187 */
EricLew 0:80ee8f3b695e 1188 __STATIC_INLINE void LL_PWR_ClearFlag_WU(void)
EricLew 0:80ee8f3b695e 1189 {
EricLew 0:80ee8f3b695e 1190 WRITE_REG(PWR->SCR, PWR_SCR_CWUF);
EricLew 0:80ee8f3b695e 1191 }
EricLew 0:80ee8f3b695e 1192
EricLew 0:80ee8f3b695e 1193 /**
EricLew 0:80ee8f3b695e 1194 * @brief Clear Wake-up Flag 5
EricLew 0:80ee8f3b695e 1195 * @rmtoll SCR CWUF5 LL_PWR_ClearFlag_WU5
EricLew 0:80ee8f3b695e 1196 * @retval None
EricLew 0:80ee8f3b695e 1197 */
EricLew 0:80ee8f3b695e 1198 __STATIC_INLINE void LL_PWR_ClearFlag_WU5(void)
EricLew 0:80ee8f3b695e 1199 {
EricLew 0:80ee8f3b695e 1200 WRITE_REG(PWR->SCR, PWR_SCR_CWUF5);
EricLew 0:80ee8f3b695e 1201 }
EricLew 0:80ee8f3b695e 1202
EricLew 0:80ee8f3b695e 1203 /**
EricLew 0:80ee8f3b695e 1204 * @brief Clear Wake-up Flag 4
EricLew 0:80ee8f3b695e 1205 * @rmtoll SCR CWUF4 LL_PWR_ClearFlag_WU4
EricLew 0:80ee8f3b695e 1206 * @retval None
EricLew 0:80ee8f3b695e 1207 */
EricLew 0:80ee8f3b695e 1208 __STATIC_INLINE void LL_PWR_ClearFlag_WU4(void)
EricLew 0:80ee8f3b695e 1209 {
EricLew 0:80ee8f3b695e 1210 WRITE_REG(PWR->SCR, PWR_SCR_CWUF4);
EricLew 0:80ee8f3b695e 1211 }
EricLew 0:80ee8f3b695e 1212
EricLew 0:80ee8f3b695e 1213 /**
EricLew 0:80ee8f3b695e 1214 * @brief Clear Wake-up Flag 3
EricLew 0:80ee8f3b695e 1215 * @rmtoll SCR CWUF3 LL_PWR_ClearFlag_WU3
EricLew 0:80ee8f3b695e 1216 * @retval None
EricLew 0:80ee8f3b695e 1217 */
EricLew 0:80ee8f3b695e 1218 __STATIC_INLINE void LL_PWR_ClearFlag_WU3(void)
EricLew 0:80ee8f3b695e 1219 {
EricLew 0:80ee8f3b695e 1220 WRITE_REG(PWR->SCR, PWR_SCR_CWUF3);
EricLew 0:80ee8f3b695e 1221 }
EricLew 0:80ee8f3b695e 1222
EricLew 0:80ee8f3b695e 1223 /**
EricLew 0:80ee8f3b695e 1224 * @brief Clear Wake-up Flag 2
EricLew 0:80ee8f3b695e 1225 * @rmtoll SCR CWUF2 LL_PWR_ClearFlag_WU2
EricLew 0:80ee8f3b695e 1226 * @retval None
EricLew 0:80ee8f3b695e 1227 */
EricLew 0:80ee8f3b695e 1228 __STATIC_INLINE void LL_PWR_ClearFlag_WU2(void)
EricLew 0:80ee8f3b695e 1229 {
EricLew 0:80ee8f3b695e 1230 WRITE_REG(PWR->SCR, PWR_SCR_CWUF2);
EricLew 0:80ee8f3b695e 1231 }
EricLew 0:80ee8f3b695e 1232
EricLew 0:80ee8f3b695e 1233 /**
EricLew 0:80ee8f3b695e 1234 * @brief Clear Wake-up Flag 1
EricLew 0:80ee8f3b695e 1235 * @rmtoll SCR CWUF1 LL_PWR_ClearFlag_WU1
EricLew 0:80ee8f3b695e 1236 * @retval None
EricLew 0:80ee8f3b695e 1237 */
EricLew 0:80ee8f3b695e 1238 __STATIC_INLINE void LL_PWR_ClearFlag_WU1(void)
EricLew 0:80ee8f3b695e 1239 {
EricLew 0:80ee8f3b695e 1240 WRITE_REG(PWR->SCR, PWR_SCR_CWUF1);
EricLew 0:80ee8f3b695e 1241 }
EricLew 0:80ee8f3b695e 1242
EricLew 0:80ee8f3b695e 1243 /**
EricLew 0:80ee8f3b695e 1244 * @brief Indicate whether VDDA voltage is below or above PVM4 threshold
EricLew 0:80ee8f3b695e 1245 * @rmtoll SR2 PVMO4 LL_PWR_IsActiveFlag_PVMO4
EricLew 0:80ee8f3b695e 1246 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1247 */
EricLew 0:80ee8f3b695e 1248 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVMO4 (void)
EricLew 0:80ee8f3b695e 1249 {
EricLew 0:80ee8f3b695e 1250 return (READ_BIT(PWR->SR2, PWR_SR2_PVMO4) == (PWR_SR2_PVMO4));
EricLew 0:80ee8f3b695e 1251 }
EricLew 0:80ee8f3b695e 1252
EricLew 0:80ee8f3b695e 1253 /**
EricLew 0:80ee8f3b695e 1254 * @brief Indicate whether VDDA voltage is below or above PVM3 threshold
EricLew 0:80ee8f3b695e 1255 * @rmtoll SR2 PVMO3 LL_PWR_IsActiveFlag_PVMO3
EricLew 0:80ee8f3b695e 1256 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1257 */
EricLew 0:80ee8f3b695e 1258 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVMO3 (void)
EricLew 0:80ee8f3b695e 1259 {
EricLew 0:80ee8f3b695e 1260 return (READ_BIT(PWR->SR2, PWR_SR2_PVMO3) == (PWR_SR2_PVMO3));
EricLew 0:80ee8f3b695e 1261 }
EricLew 0:80ee8f3b695e 1262
EricLew 0:80ee8f3b695e 1263 /**
EricLew 0:80ee8f3b695e 1264 * @brief Indicate whether VDDIO2 voltage is below or above PVM2 threshold
EricLew 0:80ee8f3b695e 1265 * @rmtoll SR2 PVMO2 LL_PWR_IsActiveFlag_PVMO2
EricLew 0:80ee8f3b695e 1266 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1267 */
EricLew 0:80ee8f3b695e 1268 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVMO2 (void)
EricLew 0:80ee8f3b695e 1269 {
EricLew 0:80ee8f3b695e 1270 return (READ_BIT(PWR->SR2, PWR_SR2_PVMO2 ) == (PWR_SR2_PVMO2 ));
EricLew 0:80ee8f3b695e 1271 }
EricLew 0:80ee8f3b695e 1272
EricLew 0:80ee8f3b695e 1273 #if defined(USB_OTG_FS)
EricLew 0:80ee8f3b695e 1274 /**
EricLew 0:80ee8f3b695e 1275 * @brief Indicate whether VDDUSB voltage is below or above PVM1 threshold
EricLew 0:80ee8f3b695e 1276 * @rmtoll SR2 PVMO1 LL_PWR_IsActiveFlag_PVMO1
EricLew 0:80ee8f3b695e 1277 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1278 */
EricLew 0:80ee8f3b695e 1279 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVMO1 (void)
EricLew 0:80ee8f3b695e 1280 {
EricLew 0:80ee8f3b695e 1281 return (READ_BIT(PWR->SR2, PWR_SR2_PVMO1) == (PWR_SR2_PVMO1));
EricLew 0:80ee8f3b695e 1282 }
EricLew 0:80ee8f3b695e 1283 #endif /* USB_OTG_FS */
EricLew 0:80ee8f3b695e 1284
EricLew 0:80ee8f3b695e 1285 /**
EricLew 0:80ee8f3b695e 1286 * @brief Indicate whether VDD voltage is below or above the selected PVD threshold
EricLew 0:80ee8f3b695e 1287 * @rmtoll SR2 PVDO LL_PWR_IsActiveFlag_PVDO
EricLew 0:80ee8f3b695e 1288 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1289 */
EricLew 0:80ee8f3b695e 1290 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVDO (void)
EricLew 0:80ee8f3b695e 1291 {
EricLew 0:80ee8f3b695e 1292 return (READ_BIT(PWR->SR2, PWR_SR2_PVDO) == (PWR_SR2_PVDO));
EricLew 0:80ee8f3b695e 1293 }
EricLew 0:80ee8f3b695e 1294
EricLew 0:80ee8f3b695e 1295 /**
EricLew 0:80ee8f3b695e 1296 * @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
EricLew 0:80ee8f3b695e 1297 * @rmtoll SR2 VOSF LL_PWR_IsActiveFlag_VOSF
EricLew 0:80ee8f3b695e 1298 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1299 */
EricLew 0:80ee8f3b695e 1300 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_VOSF (void)
EricLew 0:80ee8f3b695e 1301 {
EricLew 0:80ee8f3b695e 1302 return (READ_BIT(PWR->SR2, PWR_SR2_VOSF ) == (PWR_SR2_VOSF ));
EricLew 0:80ee8f3b695e 1303 }
EricLew 0:80ee8f3b695e 1304
EricLew 0:80ee8f3b695e 1305 /**
EricLew 0:80ee8f3b695e 1306 * @brief Indicate whether the regulator is ready in main mode or is in low-power mode
EricLew 0:80ee8f3b695e 1307 * @note: Take care, return value "0" means the regulator is ready. Return value "1" means the output voltage range is still changing.
EricLew 0:80ee8f3b695e 1308 * @rmtoll SR2 REGLPF LL_PWR_IsActiveFlag_REGLPF
EricLew 0:80ee8f3b695e 1309 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1310 */
EricLew 0:80ee8f3b695e 1311 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_REGLPF(void)
EricLew 0:80ee8f3b695e 1312 {
EricLew 0:80ee8f3b695e 1313 return (READ_BIT(PWR->SR2, PWR_SR2_REGLPF) == (PWR_SR2_REGLPF));
EricLew 0:80ee8f3b695e 1314 }
EricLew 0:80ee8f3b695e 1315
EricLew 0:80ee8f3b695e 1316 /**
EricLew 0:80ee8f3b695e 1317 * @brief Indicate whether or not the low-power regulator is ready
EricLew 0:80ee8f3b695e 1318 * @rmtoll SR2 REGLPS LL_PWR_IsActiveFlag_REGLPS
EricLew 0:80ee8f3b695e 1319 * @retval State of bit (1 or 0).
EricLew 0:80ee8f3b695e 1320 */
EricLew 0:80ee8f3b695e 1321 __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_REGLPS(void)
EricLew 0:80ee8f3b695e 1322 {
EricLew 0:80ee8f3b695e 1323 return (READ_BIT(PWR->SR2, PWR_SR2_REGLPS) == (PWR_SR2_REGLPS));
EricLew 0:80ee8f3b695e 1324 }
EricLew 0:80ee8f3b695e 1325
EricLew 0:80ee8f3b695e 1326 /**
EricLew 0:80ee8f3b695e 1327 * @}
EricLew 0:80ee8f3b695e 1328 */
EricLew 0:80ee8f3b695e 1329
EricLew 0:80ee8f3b695e 1330
EricLew 0:80ee8f3b695e 1331 /**
EricLew 0:80ee8f3b695e 1332 * @}
EricLew 0:80ee8f3b695e 1333 */
EricLew 0:80ee8f3b695e 1334
EricLew 0:80ee8f3b695e 1335 /**
EricLew 0:80ee8f3b695e 1336 * @}
EricLew 0:80ee8f3b695e 1337 */
EricLew 0:80ee8f3b695e 1338
EricLew 0:80ee8f3b695e 1339 #endif /* defined(PWR) */
EricLew 0:80ee8f3b695e 1340
EricLew 0:80ee8f3b695e 1341 /**
EricLew 0:80ee8f3b695e 1342 * @}
EricLew 0:80ee8f3b695e 1343 */
EricLew 0:80ee8f3b695e 1344
EricLew 0:80ee8f3b695e 1345 #ifdef __cplusplus
EricLew 0:80ee8f3b695e 1346 }
EricLew 0:80ee8f3b695e 1347 #endif
EricLew 0:80ee8f3b695e 1348
EricLew 0:80ee8f3b695e 1349 #endif /* __STM32L4xx_LL_PWR_H */
EricLew 0:80ee8f3b695e 1350
EricLew 0:80ee8f3b695e 1351 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
EricLew 0:80ee8f3b695e 1352