mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 189:f392fc9709a3 1 /**
AnnaBridge 189:f392fc9709a3 2 ******************************************************************************
AnnaBridge 189:f392fc9709a3 3 * @file stm32l0xx_hal_rcc_ex.h
AnnaBridge 189:f392fc9709a3 4 * @author MCD Application Team
AnnaBridge 189:f392fc9709a3 5 * @brief Header file of RCC HAL Extension module.
AnnaBridge 189:f392fc9709a3 6 ******************************************************************************
AnnaBridge 189:f392fc9709a3 7 * @attention
AnnaBridge 189:f392fc9709a3 8 *
AnnaBridge 189:f392fc9709a3 9 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 189:f392fc9709a3 10 *
AnnaBridge 189:f392fc9709a3 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 189:f392fc9709a3 12 * are permitted provided that the following conditions are met:
AnnaBridge 189:f392fc9709a3 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 189:f392fc9709a3 14 * this list of conditions and the following disclaimer.
AnnaBridge 189:f392fc9709a3 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 189:f392fc9709a3 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 189:f392fc9709a3 17 * and/or other materials provided with the distribution.
AnnaBridge 189:f392fc9709a3 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 189:f392fc9709a3 19 * may be used to endorse or promote products derived from this software
AnnaBridge 189:f392fc9709a3 20 * without specific prior written permission.
AnnaBridge 189:f392fc9709a3 21 *
AnnaBridge 189:f392fc9709a3 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 189:f392fc9709a3 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 189:f392fc9709a3 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 189:f392fc9709a3 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 189:f392fc9709a3 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 189:f392fc9709a3 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 189:f392fc9709a3 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 189:f392fc9709a3 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 189:f392fc9709a3 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 189:f392fc9709a3 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 189:f392fc9709a3 32 *
AnnaBridge 189:f392fc9709a3 33 ******************************************************************************
AnnaBridge 189:f392fc9709a3 34 */
AnnaBridge 189:f392fc9709a3 35
AnnaBridge 189:f392fc9709a3 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 189:f392fc9709a3 37 #ifndef __STM32L0xx_HAL_RCC_EX_H
AnnaBridge 189:f392fc9709a3 38 #define __STM32L0xx_HAL_RCC_EX_H
AnnaBridge 189:f392fc9709a3 39
AnnaBridge 189:f392fc9709a3 40 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 41 extern "C" {
AnnaBridge 189:f392fc9709a3 42 #endif
AnnaBridge 189:f392fc9709a3 43
AnnaBridge 189:f392fc9709a3 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 45 #include "stm32l0xx_hal_def.h"
AnnaBridge 189:f392fc9709a3 46
AnnaBridge 189:f392fc9709a3 47 /** @addtogroup STM32L0xx_HAL_Driver
AnnaBridge 189:f392fc9709a3 48 * @{
AnnaBridge 189:f392fc9709a3 49 */
AnnaBridge 189:f392fc9709a3 50
AnnaBridge 189:f392fc9709a3 51 /** @addtogroup RCCEx
AnnaBridge 189:f392fc9709a3 52 * @{
AnnaBridge 189:f392fc9709a3 53 */
AnnaBridge 189:f392fc9709a3 54
AnnaBridge 189:f392fc9709a3 55 /** @addtogroup RCCEx_Private_Constants
AnnaBridge 189:f392fc9709a3 56 * @{
AnnaBridge 189:f392fc9709a3 57 */
AnnaBridge 189:f392fc9709a3 58
AnnaBridge 189:f392fc9709a3 59
AnnaBridge 189:f392fc9709a3 60 #if defined(CRS)
AnnaBridge 189:f392fc9709a3 61 /* CRS IT Error Mask */
AnnaBridge 189:f392fc9709a3 62 #define RCC_CRS_IT_ERROR_MASK ((uint32_t)(RCC_CRS_IT_TRIMOVF | RCC_CRS_IT_SYNCERR | RCC_CRS_IT_SYNCMISS))
AnnaBridge 189:f392fc9709a3 63
AnnaBridge 189:f392fc9709a3 64 /* CRS Flag Error Mask */
AnnaBridge 189:f392fc9709a3 65 #define RCC_CRS_FLAG_ERROR_MASK ((uint32_t)(RCC_CRS_FLAG_TRIMOVF | RCC_CRS_FLAG_SYNCERR | RCC_CRS_FLAG_SYNCMISS))
AnnaBridge 189:f392fc9709a3 66
AnnaBridge 189:f392fc9709a3 67 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 68 /**
AnnaBridge 189:f392fc9709a3 69 * @}
AnnaBridge 189:f392fc9709a3 70 */
AnnaBridge 189:f392fc9709a3 71
AnnaBridge 189:f392fc9709a3 72 /** @addtogroup RCCEx_Private_Macros
AnnaBridge 189:f392fc9709a3 73 * @{
AnnaBridge 189:f392fc9709a3 74 */
AnnaBridge 189:f392fc9709a3 75 #if defined (STM32L052xx) || defined(STM32L062xx)
AnnaBridge 189:f392fc9709a3 76 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 77 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 78 RCC_PERIPHCLK_USB | RCC_PERIPHCLK_LPTIM1))
AnnaBridge 189:f392fc9709a3 79 #elif defined (STM32L053xx) || defined(STM32L063xx)
AnnaBridge 189:f392fc9709a3 80 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 81 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 82 RCC_PERIPHCLK_USB | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_LCD))
AnnaBridge 189:f392fc9709a3 83 #elif defined (STM32L072xx) || defined(STM32L082xx)
AnnaBridge 189:f392fc9709a3 84 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 85 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 86 RCC_PERIPHCLK_USB | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_I2C3 ))
AnnaBridge 189:f392fc9709a3 87 #elif defined (STM32L073xx) || defined(STM32L083xx)
AnnaBridge 189:f392fc9709a3 88 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 89 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 90 RCC_PERIPHCLK_USB | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_I2C3 | \
AnnaBridge 189:f392fc9709a3 91 RCC_PERIPHCLK_LCD))
AnnaBridge 189:f392fc9709a3 92 #endif
AnnaBridge 189:f392fc9709a3 93
AnnaBridge 189:f392fc9709a3 94 #if defined(STM32L011xx) || defined(STM32L021xx) || defined(STM32L031xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 95 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= ( RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 96 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 97 RCC_PERIPHCLK_LPTIM1))
AnnaBridge 189:f392fc9709a3 98 #elif defined(STM32L051xx) || defined(STM32L061xx)
AnnaBridge 189:f392fc9709a3 99 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 100 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 101 RCC_PERIPHCLK_LPTIM1))
AnnaBridge 189:f392fc9709a3 102 #elif defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 103 #define IS_RCC_PERIPHCLOCK(__CLK__) ((__CLK__) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_LPUART1 | \
AnnaBridge 189:f392fc9709a3 104 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_I2C2 | RCC_PERIPHCLK_RTC | \
AnnaBridge 189:f392fc9709a3 105 RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_I2C3))
AnnaBridge 189:f392fc9709a3 106 #endif
AnnaBridge 189:f392fc9709a3 107
AnnaBridge 189:f392fc9709a3 108 #if defined (RCC_CCIPR_USART1SEL)
AnnaBridge 189:f392fc9709a3 109 #define IS_RCC_USART1CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_USART1CLKSOURCE_PCLK2) || \
AnnaBridge 189:f392fc9709a3 110 ((__SOURCE__) == RCC_USART1CLKSOURCE_SYSCLK) || \
AnnaBridge 189:f392fc9709a3 111 ((__SOURCE__) == RCC_USART1CLKSOURCE_LSE) || \
AnnaBridge 189:f392fc9709a3 112 ((__SOURCE__) == RCC_USART1CLKSOURCE_HSI))
AnnaBridge 189:f392fc9709a3 113 #endif /* RCC_CCIPR_USART1SEL */
AnnaBridge 189:f392fc9709a3 114
AnnaBridge 189:f392fc9709a3 115 #define IS_RCC_USART2CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_USART2CLKSOURCE_PCLK1) || \
AnnaBridge 189:f392fc9709a3 116 ((__SOURCE__) == RCC_USART2CLKSOURCE_SYSCLK) || \
AnnaBridge 189:f392fc9709a3 117 ((__SOURCE__) == RCC_USART2CLKSOURCE_LSE) || \
AnnaBridge 189:f392fc9709a3 118 ((__SOURCE__) == RCC_USART2CLKSOURCE_HSI))
AnnaBridge 189:f392fc9709a3 119
AnnaBridge 189:f392fc9709a3 120 #define IS_RCC_LPUART1CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_LPUART1CLKSOURCE_PCLK1) || \
AnnaBridge 189:f392fc9709a3 121 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_SYSCLK) || \
AnnaBridge 189:f392fc9709a3 122 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_LSE) || \
AnnaBridge 189:f392fc9709a3 123 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_HSI))
AnnaBridge 189:f392fc9709a3 124
AnnaBridge 189:f392fc9709a3 125 #define IS_RCC_I2C1CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_I2C1CLKSOURCE_PCLK1) || \
AnnaBridge 189:f392fc9709a3 126 ((__SOURCE__) == RCC_I2C1CLKSOURCE_SYSCLK)|| \
AnnaBridge 189:f392fc9709a3 127 ((__SOURCE__) == RCC_I2C1CLKSOURCE_HSI))
AnnaBridge 189:f392fc9709a3 128
AnnaBridge 189:f392fc9709a3 129 #if defined(RCC_CCIPR_I2C3SEL)
AnnaBridge 189:f392fc9709a3 130 #define IS_RCC_I2C3CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_I2C3CLKSOURCE_PCLK1) || \
AnnaBridge 189:f392fc9709a3 131 ((__SOURCE__) == RCC_I2C3CLKSOURCE_SYSCLK)|| \
AnnaBridge 189:f392fc9709a3 132 ((__SOURCE__) == RCC_I2C3CLKSOURCE_HSI))
AnnaBridge 189:f392fc9709a3 133 #endif /* RCC_CCIPR_I2C3SEL */
AnnaBridge 189:f392fc9709a3 134
AnnaBridge 189:f392fc9709a3 135 #if defined(USB)
AnnaBridge 189:f392fc9709a3 136 #define IS_RCC_USBCLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_USBCLKSOURCE_HSI48) || \
AnnaBridge 189:f392fc9709a3 137 ((__SOURCE__) == RCC_USBCLKSOURCE_PLL))
AnnaBridge 189:f392fc9709a3 138 #endif /* USB */
AnnaBridge 189:f392fc9709a3 139
AnnaBridge 189:f392fc9709a3 140 #if defined(RNG)
AnnaBridge 189:f392fc9709a3 141 #define IS_RCC_RNGCLKSOURCE(_SOURCE_) (((_SOURCE_) == RCC_RNGCLKSOURCE_HSI48) || \
AnnaBridge 189:f392fc9709a3 142 ((_SOURCE_) == RCC_RNGCLKSOURCE_PLLCLK))
AnnaBridge 189:f392fc9709a3 143 #endif /* RNG */
AnnaBridge 189:f392fc9709a3 144
AnnaBridge 189:f392fc9709a3 145 #if defined(RCC_CCIPR_HSI48SEL)
AnnaBridge 189:f392fc9709a3 146 #define IS_RCC_HSI48MCLKSOURCE(__HSI48MCLK__) (((__HSI48MCLK__) == RCC_HSI48M_PLL) || ((__HSI48MCLK__) == RCC_HSI48M_HSI48))
AnnaBridge 189:f392fc9709a3 147 #endif /* RCC_CCIPR_HSI48SEL */
AnnaBridge 189:f392fc9709a3 148
AnnaBridge 189:f392fc9709a3 149 #define IS_RCC_LPTIMCLK(__LPTIMCLK_) (((__LPTIMCLK_) == RCC_LPTIM1CLKSOURCE_PCLK) || \
AnnaBridge 189:f392fc9709a3 150 ((__LPTIMCLK_) == RCC_LPTIM1CLKSOURCE_LSI) || \
AnnaBridge 189:f392fc9709a3 151 ((__LPTIMCLK_) == RCC_LPTIM1CLKSOURCE_HSI) || \
AnnaBridge 189:f392fc9709a3 152 ((__LPTIMCLK_) == RCC_LPTIM1CLKSOURCE_LSE))
AnnaBridge 189:f392fc9709a3 153
AnnaBridge 189:f392fc9709a3 154 #define IS_RCC_STOPWAKEUP_CLOCK(__SOURCE__) (((__SOURCE__) == RCC_STOP_WAKEUPCLOCK_MSI) || \
AnnaBridge 189:f392fc9709a3 155 ((__SOURCE__) == RCC_STOP_WAKEUPCLOCK_HSI))
AnnaBridge 189:f392fc9709a3 156
AnnaBridge 189:f392fc9709a3 157 #define IS_RCC_LSE_DRIVE(__DRIVE__) (((__DRIVE__) == RCC_LSEDRIVE_LOW) || ((__SOURCE__) == RCC_LSEDRIVE_MEDIUMLOW) || \
AnnaBridge 189:f392fc9709a3 158 ((__DRIVE__) == RCC_LSEDRIVE_MEDIUMHIGH) || ((__SOURCE__) == RCC_LSEDRIVE_HIGH))
AnnaBridge 189:f392fc9709a3 159
AnnaBridge 189:f392fc9709a3 160 #if defined(CRS)
AnnaBridge 189:f392fc9709a3 161
AnnaBridge 189:f392fc9709a3 162 #define IS_RCC_CRS_SYNC_SOURCE(_SOURCE_) (((_SOURCE_) == RCC_CRS_SYNC_SOURCE_GPIO) || \
AnnaBridge 189:f392fc9709a3 163 ((_SOURCE_) == RCC_CRS_SYNC_SOURCE_LSE) || \
AnnaBridge 189:f392fc9709a3 164 ((_SOURCE_) == RCC_CRS_SYNC_SOURCE_USB))
AnnaBridge 189:f392fc9709a3 165 #define IS_RCC_CRS_SYNC_DIV(_DIV_) (((_DIV_) == RCC_CRS_SYNC_DIV1) || ((_DIV_) == RCC_CRS_SYNC_DIV2) || \
AnnaBridge 189:f392fc9709a3 166 ((_DIV_) == RCC_CRS_SYNC_DIV4) || ((_DIV_) == RCC_CRS_SYNC_DIV8) || \
AnnaBridge 189:f392fc9709a3 167 ((_DIV_) == RCC_CRS_SYNC_DIV16) || ((_DIV_) == RCC_CRS_SYNC_DIV32) || \
AnnaBridge 189:f392fc9709a3 168 ((_DIV_) == RCC_CRS_SYNC_DIV64) || ((_DIV_) == RCC_CRS_SYNC_DIV128))
AnnaBridge 189:f392fc9709a3 169 #define IS_RCC_CRS_SYNC_POLARITY(_POLARITY_) (((_POLARITY_) == RCC_CRS_SYNC_POLARITY_RISING) || \
AnnaBridge 189:f392fc9709a3 170 ((_POLARITY_) == RCC_CRS_SYNC_POLARITY_FALLING))
AnnaBridge 189:f392fc9709a3 171 #define IS_RCC_CRS_RELOADVALUE(_VALUE_) (((_VALUE_) <= 0xFFFF))
AnnaBridge 189:f392fc9709a3 172 #define IS_RCC_CRS_ERRORLIMIT(_VALUE_) (((_VALUE_) <= 0xFF))
AnnaBridge 189:f392fc9709a3 173 #define IS_RCC_CRS_HSI48CALIBRATION(_VALUE_) (((_VALUE_) <= 0x3F))
AnnaBridge 189:f392fc9709a3 174 #define IS_RCC_CRS_FREQERRORDIR(_DIR_) (((_DIR_) == RCC_CRS_FREQERRORDIR_UP) || \
AnnaBridge 189:f392fc9709a3 175 ((_DIR_) == RCC_CRS_FREQERRORDIR_DOWN))
AnnaBridge 189:f392fc9709a3 176 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 177 /**
AnnaBridge 189:f392fc9709a3 178 * @}
AnnaBridge 189:f392fc9709a3 179 */
AnnaBridge 189:f392fc9709a3 180
AnnaBridge 189:f392fc9709a3 181 /* Exported types ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 182
AnnaBridge 189:f392fc9709a3 183 /** @defgroup RCCEx_Exported_Types RCCEx Exported Types
AnnaBridge 189:f392fc9709a3 184 * @{
AnnaBridge 189:f392fc9709a3 185 */
AnnaBridge 189:f392fc9709a3 186
AnnaBridge 189:f392fc9709a3 187 /**
AnnaBridge 189:f392fc9709a3 188 * @brief RCC extended clocks structure definition
AnnaBridge 189:f392fc9709a3 189 */
AnnaBridge 189:f392fc9709a3 190 typedef struct
AnnaBridge 189:f392fc9709a3 191 {
AnnaBridge 189:f392fc9709a3 192 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
AnnaBridge 189:f392fc9709a3 193 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
AnnaBridge 189:f392fc9709a3 194
AnnaBridge 189:f392fc9709a3 195 uint32_t RTCClockSelection; /*!< specifies the RTC clock source.
AnnaBridge 189:f392fc9709a3 196 This parameter can be a value of @ref RCC_RTC_LCD_Clock_Source */
AnnaBridge 189:f392fc9709a3 197
AnnaBridge 189:f392fc9709a3 198 #if defined(LCD)
AnnaBridge 189:f392fc9709a3 199
AnnaBridge 189:f392fc9709a3 200 uint32_t LCDClockSelection; /*!< specifies the LCD clock source.
AnnaBridge 189:f392fc9709a3 201 This parameter can be a value of @ref RCC_RTC_LCD_Clock_Source */
AnnaBridge 189:f392fc9709a3 202
AnnaBridge 189:f392fc9709a3 203 #endif /* LCD */
AnnaBridge 189:f392fc9709a3 204 #if defined(RCC_CCIPR_USART1SEL)
AnnaBridge 189:f392fc9709a3 205 uint32_t Usart1ClockSelection; /*!< USART1 clock source
AnnaBridge 189:f392fc9709a3 206 This parameter can be a value of @ref RCCEx_USART1_Clock_Source */
AnnaBridge 189:f392fc9709a3 207 #endif /* RCC_CCIPR_USART1SEL */
AnnaBridge 189:f392fc9709a3 208 uint32_t Usart2ClockSelection; /*!< USART2 clock source
AnnaBridge 189:f392fc9709a3 209 This parameter can be a value of @ref RCCEx_USART2_Clock_Source */
AnnaBridge 189:f392fc9709a3 210
AnnaBridge 189:f392fc9709a3 211 uint32_t Lpuart1ClockSelection; /*!< LPUART1 clock source
AnnaBridge 189:f392fc9709a3 212 This parameter can be a value of @ref RCCEx_LPUART1_Clock_Source */
AnnaBridge 189:f392fc9709a3 213
AnnaBridge 189:f392fc9709a3 214 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
AnnaBridge 189:f392fc9709a3 215 This parameter can be a value of @ref RCCEx_I2C1_Clock_Source */
AnnaBridge 189:f392fc9709a3 216
AnnaBridge 189:f392fc9709a3 217 #if defined(RCC_CCIPR_I2C3SEL)
AnnaBridge 189:f392fc9709a3 218 uint32_t I2c3ClockSelection; /*!< I2C3 clock source
AnnaBridge 189:f392fc9709a3 219 This parameter can be a value of @ref RCCEx_I2C3_Clock_Source */
AnnaBridge 189:f392fc9709a3 220 #endif /* RCC_CCIPR_I2C3SEL */
AnnaBridge 189:f392fc9709a3 221 uint32_t LptimClockSelection; /*!< LPTIM1 clock source
AnnaBridge 189:f392fc9709a3 222 This parameter can be a value of @ref RCCEx_LPTIM1_Clock_Source */
AnnaBridge 189:f392fc9709a3 223 #if defined(USB)
AnnaBridge 189:f392fc9709a3 224 uint32_t UsbClockSelection; /*!< Specifies USB and RNG Clock Selection
AnnaBridge 189:f392fc9709a3 225 This parameter can be a value of @ref RCCEx_USB_Clock_Source */
AnnaBridge 189:f392fc9709a3 226 #endif /* USB */
AnnaBridge 189:f392fc9709a3 227 } RCC_PeriphCLKInitTypeDef;
AnnaBridge 189:f392fc9709a3 228
AnnaBridge 189:f392fc9709a3 229 #if defined (CRS)
AnnaBridge 189:f392fc9709a3 230 /**
AnnaBridge 189:f392fc9709a3 231 * @brief RCC_CRS Init structure definition
AnnaBridge 189:f392fc9709a3 232 */
AnnaBridge 189:f392fc9709a3 233 typedef struct
AnnaBridge 189:f392fc9709a3 234 {
AnnaBridge 189:f392fc9709a3 235 uint32_t Prescaler; /*!< Specifies the division factor of the SYNC signal.
AnnaBridge 189:f392fc9709a3 236 This parameter can be a value of @ref RCCEx_CRS_SynchroDivider */
AnnaBridge 189:f392fc9709a3 237
AnnaBridge 189:f392fc9709a3 238 uint32_t Source; /*!< Specifies the SYNC signal source.
AnnaBridge 189:f392fc9709a3 239 This parameter can be a value of @ref RCCEx_CRS_SynchroSource */
AnnaBridge 189:f392fc9709a3 240
AnnaBridge 189:f392fc9709a3 241 uint32_t Polarity; /*!< Specifies the input polarity for the SYNC signal source.
AnnaBridge 189:f392fc9709a3 242 This parameter can be a value of @ref RCCEx_CRS_SynchroPolarity */
AnnaBridge 189:f392fc9709a3 243
AnnaBridge 189:f392fc9709a3 244 uint32_t ReloadValue; /*!< Specifies the value to be loaded in the frequency error counter with each SYNC event.
AnnaBridge 189:f392fc9709a3 245 It can be calculated in using macro @ref __HAL_RCC_CRS_RELOADVALUE_CALCULATE(__FTARGET__, __FSYNC__)
AnnaBridge 189:f392fc9709a3 246 This parameter must be a number between 0 and 0xFFFF or a value of @ref RCCEx_CRS_ReloadValueDefault .*/
AnnaBridge 189:f392fc9709a3 247
AnnaBridge 189:f392fc9709a3 248 uint32_t ErrorLimitValue; /*!< Specifies the value to be used to evaluate the captured frequency error value.
AnnaBridge 189:f392fc9709a3 249 This parameter must be a number between 0 and 0xFF or a value of @ref RCCEx_CRS_ErrorLimitDefault */
AnnaBridge 189:f392fc9709a3 250
AnnaBridge 189:f392fc9709a3 251 uint32_t HSI48CalibrationValue; /*!< Specifies a user-programmable trimming value to the HSI48 oscillator.
AnnaBridge 189:f392fc9709a3 252 This parameter must be a number between 0 and 0x3F or a value of @ref RCCEx_CRS_HSI48CalibrationDefault */
AnnaBridge 189:f392fc9709a3 253
AnnaBridge 189:f392fc9709a3 254 }RCC_CRSInitTypeDef;
AnnaBridge 189:f392fc9709a3 255
AnnaBridge 189:f392fc9709a3 256 /**
AnnaBridge 189:f392fc9709a3 257 * @brief RCC_CRS Synchronization structure definition
AnnaBridge 189:f392fc9709a3 258 */
AnnaBridge 189:f392fc9709a3 259 typedef struct
AnnaBridge 189:f392fc9709a3 260 {
AnnaBridge 189:f392fc9709a3 261 uint32_t ReloadValue; /*!< Specifies the value loaded in the Counter reload value.
AnnaBridge 189:f392fc9709a3 262 This parameter must be a number between 0 and 0xFFFF */
AnnaBridge 189:f392fc9709a3 263
AnnaBridge 189:f392fc9709a3 264 uint32_t HSI48CalibrationValue; /*!< Specifies value loaded in HSI48 oscillator smooth trimming.
AnnaBridge 189:f392fc9709a3 265 This parameter must be a number between 0 and 0x3F */
AnnaBridge 189:f392fc9709a3 266
AnnaBridge 189:f392fc9709a3 267 uint32_t FreqErrorCapture; /*!< Specifies the value loaded in the .FECAP, the frequency error counter
AnnaBridge 189:f392fc9709a3 268 value latched in the time of the last SYNC event.
AnnaBridge 189:f392fc9709a3 269 This parameter must be a number between 0 and 0xFFFF */
AnnaBridge 189:f392fc9709a3 270
AnnaBridge 189:f392fc9709a3 271 uint32_t FreqErrorDirection; /*!< Specifies the value loaded in the .FEDIR, the counting direction of the
AnnaBridge 189:f392fc9709a3 272 frequency error counter latched in the time of the last SYNC event.
AnnaBridge 189:f392fc9709a3 273 It shows whether the actual frequency is below or above the target.
AnnaBridge 189:f392fc9709a3 274 This parameter must be a value of @ref RCCEx_CRS_FreqErrorDirection*/
AnnaBridge 189:f392fc9709a3 275
AnnaBridge 189:f392fc9709a3 276 }RCC_CRSSynchroInfoTypeDef;
AnnaBridge 189:f392fc9709a3 277
AnnaBridge 189:f392fc9709a3 278 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 279
AnnaBridge 189:f392fc9709a3 280 /**
AnnaBridge 189:f392fc9709a3 281 * @}
AnnaBridge 189:f392fc9709a3 282 */
AnnaBridge 189:f392fc9709a3 283
AnnaBridge 189:f392fc9709a3 284 /* Exported constants --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 285
AnnaBridge 189:f392fc9709a3 286 /** @defgroup RCCEx_Exported_Constants RCCEx Exported Constants
AnnaBridge 189:f392fc9709a3 287 * @{
AnnaBridge 189:f392fc9709a3 288 */
AnnaBridge 189:f392fc9709a3 289
AnnaBridge 189:f392fc9709a3 290
AnnaBridge 189:f392fc9709a3 291 /** @defgroup RCCEx_EXTI_LINE_LSECSS RCC LSE CSS external interrupt line
AnnaBridge 189:f392fc9709a3 292 * @{
AnnaBridge 189:f392fc9709a3 293 */
AnnaBridge 189:f392fc9709a3 294 #define RCC_EXTI_LINE_LSECSS (EXTI_IMR_IM19) /*!< External interrupt line 19 connected to the LSE CSS EXTI Line */
AnnaBridge 189:f392fc9709a3 295 /**
AnnaBridge 189:f392fc9709a3 296 * @}
AnnaBridge 189:f392fc9709a3 297 */
AnnaBridge 189:f392fc9709a3 298
AnnaBridge 189:f392fc9709a3 299 /** @defgroup RCCEx_Periph_Clock_Selection RCCEx Periph Clock Selection
AnnaBridge 189:f392fc9709a3 300 * @{
AnnaBridge 189:f392fc9709a3 301 */
AnnaBridge 189:f392fc9709a3 302 #if defined(RCC_CCIPR_USART1SEL)
AnnaBridge 189:f392fc9709a3 303 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
AnnaBridge 189:f392fc9709a3 304 #endif /* RCC_CCIPR_USART1SEL */
AnnaBridge 189:f392fc9709a3 305 #define RCC_PERIPHCLK_USART2 ((uint32_t)0x00000002)
AnnaBridge 189:f392fc9709a3 306 #define RCC_PERIPHCLK_LPUART1 ((uint32_t)0x00000004)
AnnaBridge 189:f392fc9709a3 307 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000008)
AnnaBridge 189:f392fc9709a3 308 #define RCC_PERIPHCLK_I2C2 ((uint32_t)0x00000010)
AnnaBridge 189:f392fc9709a3 309 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00000020)
AnnaBridge 189:f392fc9709a3 310 #if defined(USB)
AnnaBridge 189:f392fc9709a3 311 #define RCC_PERIPHCLK_USB ((uint32_t)0x00000040)
AnnaBridge 189:f392fc9709a3 312 #endif /* USB */
AnnaBridge 189:f392fc9709a3 313 #define RCC_PERIPHCLK_LPTIM1 ((uint32_t)0x00000080)
AnnaBridge 189:f392fc9709a3 314 #if defined(LCD)
AnnaBridge 189:f392fc9709a3 315 #define RCC_PERIPHCLK_LCD ((uint32_t)0x00000800)
AnnaBridge 189:f392fc9709a3 316 #endif /* LCD */
AnnaBridge 189:f392fc9709a3 317 #if defined(RCC_CCIPR_I2C3SEL)
AnnaBridge 189:f392fc9709a3 318 #define RCC_PERIPHCLK_I2C3 ((uint32_t)0x00000100)
AnnaBridge 189:f392fc9709a3 319 #endif /* RCC_CCIPR_I2C3SEL */
AnnaBridge 189:f392fc9709a3 320
AnnaBridge 189:f392fc9709a3 321 /**
AnnaBridge 189:f392fc9709a3 322 * @}
AnnaBridge 189:f392fc9709a3 323 */
AnnaBridge 189:f392fc9709a3 324
AnnaBridge 189:f392fc9709a3 325 #if defined (RCC_CCIPR_USART1SEL)
AnnaBridge 189:f392fc9709a3 326 /** @defgroup RCCEx_USART1_Clock_Source RCCEx USART1 Clock Source
AnnaBridge 189:f392fc9709a3 327 * @{
AnnaBridge 189:f392fc9709a3 328 */
AnnaBridge 189:f392fc9709a3 329 #define RCC_USART1CLKSOURCE_PCLK2 (0x00000000U)
AnnaBridge 189:f392fc9709a3 330 #define RCC_USART1CLKSOURCE_SYSCLK RCC_CCIPR_USART1SEL_0
AnnaBridge 189:f392fc9709a3 331 #define RCC_USART1CLKSOURCE_HSI RCC_CCIPR_USART1SEL_1
AnnaBridge 189:f392fc9709a3 332 #define RCC_USART1CLKSOURCE_LSE (RCC_CCIPR_USART1SEL_0 | RCC_CCIPR_USART1SEL_1)
AnnaBridge 189:f392fc9709a3 333 /**
AnnaBridge 189:f392fc9709a3 334 * @}
AnnaBridge 189:f392fc9709a3 335 */
AnnaBridge 189:f392fc9709a3 336 #endif /* RCC_CCIPR_USART1SEL */
AnnaBridge 189:f392fc9709a3 337
AnnaBridge 189:f392fc9709a3 338 /** @defgroup RCCEx_USART2_Clock_Source RCCEx USART2 Clock Source
AnnaBridge 189:f392fc9709a3 339 * @{
AnnaBridge 189:f392fc9709a3 340 */
AnnaBridge 189:f392fc9709a3 341 #define RCC_USART2CLKSOURCE_PCLK1 (0x00000000U)
AnnaBridge 189:f392fc9709a3 342 #define RCC_USART2CLKSOURCE_SYSCLK RCC_CCIPR_USART2SEL_0
AnnaBridge 189:f392fc9709a3 343 #define RCC_USART2CLKSOURCE_HSI RCC_CCIPR_USART2SEL_1
AnnaBridge 189:f392fc9709a3 344 #define RCC_USART2CLKSOURCE_LSE (RCC_CCIPR_USART2SEL_0 | RCC_CCIPR_USART2SEL_1)
AnnaBridge 189:f392fc9709a3 345 /**
AnnaBridge 189:f392fc9709a3 346 * @}
AnnaBridge 189:f392fc9709a3 347 */
AnnaBridge 189:f392fc9709a3 348
AnnaBridge 189:f392fc9709a3 349 /** @defgroup RCCEx_LPUART1_Clock_Source RCCEx LPUART1 Clock Source
AnnaBridge 189:f392fc9709a3 350 * @{
AnnaBridge 189:f392fc9709a3 351 */
AnnaBridge 189:f392fc9709a3 352 #define RCC_LPUART1CLKSOURCE_PCLK1 (0x00000000U)
AnnaBridge 189:f392fc9709a3 353 #define RCC_LPUART1CLKSOURCE_SYSCLK RCC_CCIPR_LPUART1SEL_0
AnnaBridge 189:f392fc9709a3 354 #define RCC_LPUART1CLKSOURCE_HSI RCC_CCIPR_LPUART1SEL_1
AnnaBridge 189:f392fc9709a3 355 #define RCC_LPUART1CLKSOURCE_LSE (RCC_CCIPR_LPUART1SEL_0 | RCC_CCIPR_LPUART1SEL_1)
AnnaBridge 189:f392fc9709a3 356 /**
AnnaBridge 189:f392fc9709a3 357 * @}
AnnaBridge 189:f392fc9709a3 358 */
AnnaBridge 189:f392fc9709a3 359
AnnaBridge 189:f392fc9709a3 360 /** @defgroup RCCEx_I2C1_Clock_Source RCCEx I2C1 Clock Source
AnnaBridge 189:f392fc9709a3 361 * @{
AnnaBridge 189:f392fc9709a3 362 */
AnnaBridge 189:f392fc9709a3 363 #define RCC_I2C1CLKSOURCE_PCLK1 (0x00000000U)
AnnaBridge 189:f392fc9709a3 364 #define RCC_I2C1CLKSOURCE_SYSCLK RCC_CCIPR_I2C1SEL_0
AnnaBridge 189:f392fc9709a3 365 #define RCC_I2C1CLKSOURCE_HSI RCC_CCIPR_I2C1SEL_1
AnnaBridge 189:f392fc9709a3 366 /**
AnnaBridge 189:f392fc9709a3 367 * @}
AnnaBridge 189:f392fc9709a3 368 */
AnnaBridge 189:f392fc9709a3 369
AnnaBridge 189:f392fc9709a3 370 #if defined(RCC_CCIPR_I2C3SEL)
AnnaBridge 189:f392fc9709a3 371
AnnaBridge 189:f392fc9709a3 372 /** @defgroup RCCEx_I2C3_Clock_Source RCCEx I2C3 Clock Source
AnnaBridge 189:f392fc9709a3 373 * @{
AnnaBridge 189:f392fc9709a3 374 */
AnnaBridge 189:f392fc9709a3 375 #define RCC_I2C3CLKSOURCE_PCLK1 (0x00000000U)
AnnaBridge 189:f392fc9709a3 376 #define RCC_I2C3CLKSOURCE_SYSCLK RCC_CCIPR_I2C3SEL_0
AnnaBridge 189:f392fc9709a3 377 #define RCC_I2C3CLKSOURCE_HSI RCC_CCIPR_I2C3SEL_1
AnnaBridge 189:f392fc9709a3 378 /**
AnnaBridge 189:f392fc9709a3 379 * @}
AnnaBridge 189:f392fc9709a3 380 */
AnnaBridge 189:f392fc9709a3 381 #endif /* RCC_CCIPR_I2C3SEL */
AnnaBridge 189:f392fc9709a3 382
AnnaBridge 189:f392fc9709a3 383 /** @defgroup RCCEx_TIM_PRescaler_Selection RCCEx TIM Prescaler Selection
AnnaBridge 189:f392fc9709a3 384 * @{
AnnaBridge 189:f392fc9709a3 385 */
AnnaBridge 189:f392fc9709a3 386 #define RCC_TIMPRES_DESACTIVATED ((uint8_t)0x00)
AnnaBridge 189:f392fc9709a3 387 #define RCC_TIMPRES_ACTIVATED ((uint8_t)0x01)
AnnaBridge 189:f392fc9709a3 388 /**
AnnaBridge 189:f392fc9709a3 389 * @}
AnnaBridge 189:f392fc9709a3 390 */
AnnaBridge 189:f392fc9709a3 391
AnnaBridge 189:f392fc9709a3 392 #if defined(USB)
AnnaBridge 189:f392fc9709a3 393 /** @defgroup RCCEx_USB_Clock_Source RCCEx USB Clock Source
AnnaBridge 189:f392fc9709a3 394 * @{
AnnaBridge 189:f392fc9709a3 395 */
AnnaBridge 189:f392fc9709a3 396 #define RCC_USBCLKSOURCE_HSI48 RCC_CCIPR_HSI48SEL
AnnaBridge 189:f392fc9709a3 397 #define RCC_USBCLKSOURCE_PLL (0x00000000U)
AnnaBridge 189:f392fc9709a3 398 /**
AnnaBridge 189:f392fc9709a3 399 * @}
AnnaBridge 189:f392fc9709a3 400 */
AnnaBridge 189:f392fc9709a3 401 #endif /* USB */
AnnaBridge 189:f392fc9709a3 402
AnnaBridge 189:f392fc9709a3 403 #if defined(RNG)
AnnaBridge 189:f392fc9709a3 404 /** @defgroup RCCEx_RNG_Clock_Source RCCEx RNG Clock Source
AnnaBridge 189:f392fc9709a3 405 * @{
AnnaBridge 189:f392fc9709a3 406 */
AnnaBridge 189:f392fc9709a3 407 #define RCC_RNGCLKSOURCE_HSI48 RCC_CCIPR_HSI48SEL
AnnaBridge 189:f392fc9709a3 408 #define RCC_RNGCLKSOURCE_PLLCLK (0x00000000U)
AnnaBridge 189:f392fc9709a3 409 /**
AnnaBridge 189:f392fc9709a3 410 * @}
AnnaBridge 189:f392fc9709a3 411 */
AnnaBridge 189:f392fc9709a3 412 #endif /* RNG */
AnnaBridge 189:f392fc9709a3 413
AnnaBridge 189:f392fc9709a3 414 #if defined(RCC_CCIPR_HSI48SEL)
AnnaBridge 189:f392fc9709a3 415 /** @defgroup RCCEx_HSI48M_Clock_Source RCCEx HSI48M Clock Source
AnnaBridge 189:f392fc9709a3 416 * @{
AnnaBridge 189:f392fc9709a3 417 */
AnnaBridge 189:f392fc9709a3 418 #define RCC_FLAG_HSI48 SYSCFG_CFGR3_VREFINT_RDYF
AnnaBridge 189:f392fc9709a3 419
AnnaBridge 189:f392fc9709a3 420 #define RCC_HSI48M_PLL (0x00000000U)
AnnaBridge 189:f392fc9709a3 421 #define RCC_HSI48M_HSI48 RCC_CCIPR_HSI48SEL
AnnaBridge 189:f392fc9709a3 422
AnnaBridge 189:f392fc9709a3 423 /**
AnnaBridge 189:f392fc9709a3 424 * @}
AnnaBridge 189:f392fc9709a3 425 */
AnnaBridge 189:f392fc9709a3 426 #endif /* RCC_CCIPR_HSI48SEL */
AnnaBridge 189:f392fc9709a3 427
AnnaBridge 189:f392fc9709a3 428 /** @defgroup RCCEx_LPTIM1_Clock_Source RCCEx LPTIM1 Clock Source
AnnaBridge 189:f392fc9709a3 429 * @{
AnnaBridge 189:f392fc9709a3 430 */
AnnaBridge 189:f392fc9709a3 431 #define RCC_LPTIM1CLKSOURCE_PCLK (0x00000000U)
AnnaBridge 189:f392fc9709a3 432 #define RCC_LPTIM1CLKSOURCE_LSI RCC_CCIPR_LPTIM1SEL_0
AnnaBridge 189:f392fc9709a3 433 #define RCC_LPTIM1CLKSOURCE_HSI RCC_CCIPR_LPTIM1SEL_1
AnnaBridge 189:f392fc9709a3 434 #define RCC_LPTIM1CLKSOURCE_LSE RCC_CCIPR_LPTIM1SEL
AnnaBridge 189:f392fc9709a3 435 /**
AnnaBridge 189:f392fc9709a3 436 * @}
AnnaBridge 189:f392fc9709a3 437 */
AnnaBridge 189:f392fc9709a3 438
AnnaBridge 189:f392fc9709a3 439 /** @defgroup RCCEx_StopWakeUp_Clock RCCEx StopWakeUp Clock
AnnaBridge 189:f392fc9709a3 440 * @{
AnnaBridge 189:f392fc9709a3 441 */
AnnaBridge 189:f392fc9709a3 442
AnnaBridge 189:f392fc9709a3 443 #define RCC_STOP_WAKEUPCLOCK_MSI (0x00000000U)
AnnaBridge 189:f392fc9709a3 444 #define RCC_STOP_WAKEUPCLOCK_HSI RCC_CFGR_STOPWUCK
AnnaBridge 189:f392fc9709a3 445 /**
AnnaBridge 189:f392fc9709a3 446 * @}
AnnaBridge 189:f392fc9709a3 447 */
AnnaBridge 189:f392fc9709a3 448
AnnaBridge 189:f392fc9709a3 449 /** @defgroup RCCEx_LSEDrive_Configuration RCCEx LSE Drive Configuration
AnnaBridge 189:f392fc9709a3 450 * @{
AnnaBridge 189:f392fc9709a3 451 */
AnnaBridge 189:f392fc9709a3 452
AnnaBridge 189:f392fc9709a3 453 #define RCC_LSEDRIVE_LOW (0x00000000U)
AnnaBridge 189:f392fc9709a3 454 #define RCC_LSEDRIVE_MEDIUMLOW RCC_CSR_LSEDRV_0
AnnaBridge 189:f392fc9709a3 455 #define RCC_LSEDRIVE_MEDIUMHIGH RCC_CSR_LSEDRV_1
AnnaBridge 189:f392fc9709a3 456 #define RCC_LSEDRIVE_HIGH RCC_CSR_LSEDRV
AnnaBridge 189:f392fc9709a3 457 /**
AnnaBridge 189:f392fc9709a3 458 * @}
AnnaBridge 189:f392fc9709a3 459 */
AnnaBridge 189:f392fc9709a3 460
AnnaBridge 189:f392fc9709a3 461 #if defined(CRS)
AnnaBridge 189:f392fc9709a3 462
AnnaBridge 189:f392fc9709a3 463 /** @defgroup RCCEx_CRS_Status RCCEx CRS Status
AnnaBridge 189:f392fc9709a3 464 * @{
AnnaBridge 189:f392fc9709a3 465 */
AnnaBridge 189:f392fc9709a3 466 #define RCC_CRS_NONE (0x00000000U)
AnnaBridge 189:f392fc9709a3 467 #define RCC_CRS_TIMEOUT ((uint32_t)0x00000001)
AnnaBridge 189:f392fc9709a3 468 #define RCC_CRS_SYNCOK ((uint32_t)0x00000002)
AnnaBridge 189:f392fc9709a3 469 #define RCC_CRS_SYNCWARN ((uint32_t)0x00000004)
AnnaBridge 189:f392fc9709a3 470 #define RCC_CRS_SYNCERR ((uint32_t)0x00000008)
AnnaBridge 189:f392fc9709a3 471 #define RCC_CRS_SYNCMISS ((uint32_t)0x00000010)
AnnaBridge 189:f392fc9709a3 472 #define RCC_CRS_TRIMOVF ((uint32_t)0x00000020)
AnnaBridge 189:f392fc9709a3 473
AnnaBridge 189:f392fc9709a3 474 /**
AnnaBridge 189:f392fc9709a3 475 * @}
AnnaBridge 189:f392fc9709a3 476 */
AnnaBridge 189:f392fc9709a3 477
AnnaBridge 189:f392fc9709a3 478 /** @defgroup RCCEx_CRS_SynchroSource RCCEx CRS Synchronization Source
AnnaBridge 189:f392fc9709a3 479 * @{
AnnaBridge 189:f392fc9709a3 480 */
AnnaBridge 189:f392fc9709a3 481 #define RCC_CRS_SYNC_SOURCE_GPIO ((uint32_t)0x00000000U) /*!< Synchro Signal source GPIO */
AnnaBridge 189:f392fc9709a3 482 #define RCC_CRS_SYNC_SOURCE_LSE CRS_CFGR_SYNCSRC_0 /*!< Synchro Signal source LSE */
AnnaBridge 189:f392fc9709a3 483 #define RCC_CRS_SYNC_SOURCE_USB CRS_CFGR_SYNCSRC_1 /*!< Synchro Signal source USB SOF (default)*/
AnnaBridge 189:f392fc9709a3 484 /**
AnnaBridge 189:f392fc9709a3 485 * @}
AnnaBridge 189:f392fc9709a3 486 */
AnnaBridge 189:f392fc9709a3 487
AnnaBridge 189:f392fc9709a3 488 /** @defgroup RCCEx_CRS_SynchroDivider RCCEx CRS Synchronization Divider
AnnaBridge 189:f392fc9709a3 489 * @{
AnnaBridge 189:f392fc9709a3 490 */
AnnaBridge 189:f392fc9709a3 491 #define RCC_CRS_SYNC_DIV1 ((uint32_t)0x00000000U) /*!< Synchro Signal not divided (default) */
AnnaBridge 189:f392fc9709a3 492 #define RCC_CRS_SYNC_DIV2 CRS_CFGR_SYNCDIV_0 /*!< Synchro Signal divided by 2 */
AnnaBridge 189:f392fc9709a3 493 #define RCC_CRS_SYNC_DIV4 CRS_CFGR_SYNCDIV_1 /*!< Synchro Signal divided by 4 */
AnnaBridge 189:f392fc9709a3 494 #define RCC_CRS_SYNC_DIV8 (CRS_CFGR_SYNCDIV_1 | CRS_CFGR_SYNCDIV_0) /*!< Synchro Signal divided by 8 */
AnnaBridge 189:f392fc9709a3 495 #define RCC_CRS_SYNC_DIV16 CRS_CFGR_SYNCDIV_2 /*!< Synchro Signal divided by 16 */
AnnaBridge 189:f392fc9709a3 496 #define RCC_CRS_SYNC_DIV32 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_0) /*!< Synchro Signal divided by 32 */
AnnaBridge 189:f392fc9709a3 497 #define RCC_CRS_SYNC_DIV64 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_1) /*!< Synchro Signal divided by 64 */
AnnaBridge 189:f392fc9709a3 498 #define RCC_CRS_SYNC_DIV128 CRS_CFGR_SYNCDIV /*!< Synchro Signal divided by 128 */
AnnaBridge 189:f392fc9709a3 499 /**
AnnaBridge 189:f392fc9709a3 500 * @}
AnnaBridge 189:f392fc9709a3 501 */
AnnaBridge 189:f392fc9709a3 502
AnnaBridge 189:f392fc9709a3 503 /** @defgroup RCCEx_CRS_SynchroPolarity RCCEx CRS Synchronization Polarity
AnnaBridge 189:f392fc9709a3 504 * @{
AnnaBridge 189:f392fc9709a3 505 */
AnnaBridge 189:f392fc9709a3 506 #define RCC_CRS_SYNC_POLARITY_RISING ((uint32_t)0x00000000U) /*!< Synchro Active on rising edge (default) */
AnnaBridge 189:f392fc9709a3 507 #define RCC_CRS_SYNC_POLARITY_FALLING CRS_CFGR_SYNCPOL /*!< Synchro Active on falling edge */
AnnaBridge 189:f392fc9709a3 508 /**
AnnaBridge 189:f392fc9709a3 509 * @}
AnnaBridge 189:f392fc9709a3 510 */
AnnaBridge 189:f392fc9709a3 511
AnnaBridge 189:f392fc9709a3 512 /** @defgroup RCCEx_CRS_ReloadValueDefault RCCEx CRS Default Reload Value
AnnaBridge 189:f392fc9709a3 513 * @{
AnnaBridge 189:f392fc9709a3 514 */
AnnaBridge 189:f392fc9709a3 515 #define RCC_CRS_RELOADVALUE_DEFAULT ((uint32_t)0x0000BB7FU) /*!< The reset value of the RELOAD field corresponds
AnnaBridge 189:f392fc9709a3 516 to a target frequency of 48 MHz and a synchronization signal frequency of 1 kHz (SOF signal from USB). */
AnnaBridge 189:f392fc9709a3 517 /**
AnnaBridge 189:f392fc9709a3 518 * @}
AnnaBridge 189:f392fc9709a3 519 */
AnnaBridge 189:f392fc9709a3 520
AnnaBridge 189:f392fc9709a3 521 /** @defgroup RCCEx_CRS_ErrorLimitDefault RCCEx CRS Default Error Limit Value
AnnaBridge 189:f392fc9709a3 522 * @{
AnnaBridge 189:f392fc9709a3 523 */
AnnaBridge 189:f392fc9709a3 524 #define RCC_CRS_ERRORLIMIT_DEFAULT ((uint32_t)0x00000022U) /*!< Default Frequency error limit */
AnnaBridge 189:f392fc9709a3 525 /**
AnnaBridge 189:f392fc9709a3 526 * @}
AnnaBridge 189:f392fc9709a3 527 */
AnnaBridge 189:f392fc9709a3 528
AnnaBridge 189:f392fc9709a3 529 /** @defgroup RCCEx_CRS_HSI48CalibrationDefault RCCEx CRS Default HSI48 Calibration vakye
AnnaBridge 189:f392fc9709a3 530 * @{
AnnaBridge 189:f392fc9709a3 531 */
AnnaBridge 189:f392fc9709a3 532 #define RCC_CRS_HSI48CALIBRATION_DEFAULT ((uint32_t)0x00000020U) /*!< The default value is 32, which corresponds to the middle of the trimming interval.
AnnaBridge 189:f392fc9709a3 533 The trimming step is around 67 kHz between two consecutive TRIM steps. A higher TRIM value
AnnaBridge 189:f392fc9709a3 534 corresponds to a higher output frequency */
AnnaBridge 189:f392fc9709a3 535 /**
AnnaBridge 189:f392fc9709a3 536 * @}
AnnaBridge 189:f392fc9709a3 537 */
AnnaBridge 189:f392fc9709a3 538
AnnaBridge 189:f392fc9709a3 539 /** @defgroup RCCEx_CRS_FreqErrorDirection RCCEx CRS Frequency Error Direction
AnnaBridge 189:f392fc9709a3 540 * @{
AnnaBridge 189:f392fc9709a3 541 */
AnnaBridge 189:f392fc9709a3 542 #define RCC_CRS_FREQERRORDIR_UP ((uint32_t)0x00000000U) /*!< Upcounting direction, the actual frequency is above the target */
AnnaBridge 189:f392fc9709a3 543 #define RCC_CRS_FREQERRORDIR_DOWN ((uint32_t)CRS_ISR_FEDIR) /*!< Downcounting direction, the actual frequency is below the target */
AnnaBridge 189:f392fc9709a3 544 /**
AnnaBridge 189:f392fc9709a3 545 * @}
AnnaBridge 189:f392fc9709a3 546 */
AnnaBridge 189:f392fc9709a3 547
AnnaBridge 189:f392fc9709a3 548 /** @defgroup RCCEx_CRS_Interrupt_Sources RCCEx CRS Interrupt Sources
AnnaBridge 189:f392fc9709a3 549 * @{
AnnaBridge 189:f392fc9709a3 550 */
AnnaBridge 189:f392fc9709a3 551 #define RCC_CRS_IT_SYNCOK CRS_CR_SYNCOKIE /*!< SYNC event OK */
AnnaBridge 189:f392fc9709a3 552 #define RCC_CRS_IT_SYNCWARN CRS_CR_SYNCWARNIE /*!< SYNC warning */
AnnaBridge 189:f392fc9709a3 553 #define RCC_CRS_IT_ERR CRS_CR_ERRIE /*!< Error */
AnnaBridge 189:f392fc9709a3 554 #define RCC_CRS_IT_ESYNC CRS_CR_ESYNCIE /*!< Expected SYNC */
AnnaBridge 189:f392fc9709a3 555 #define RCC_CRS_IT_SYNCERR CRS_CR_ERRIE /*!< SYNC error */
AnnaBridge 189:f392fc9709a3 556 #define RCC_CRS_IT_SYNCMISS CRS_CR_ERRIE /*!< SYNC missed */
AnnaBridge 189:f392fc9709a3 557 #define RCC_CRS_IT_TRIMOVF CRS_CR_ERRIE /*!< Trimming overflow or underflow */
AnnaBridge 189:f392fc9709a3 558
AnnaBridge 189:f392fc9709a3 559 /**
AnnaBridge 189:f392fc9709a3 560 * @}
AnnaBridge 189:f392fc9709a3 561 */
AnnaBridge 189:f392fc9709a3 562
AnnaBridge 189:f392fc9709a3 563 /** @defgroup RCCEx_CRS_Flags RCCEx CRS Flags
AnnaBridge 189:f392fc9709a3 564 * @{
AnnaBridge 189:f392fc9709a3 565 */
AnnaBridge 189:f392fc9709a3 566 #define RCC_CRS_FLAG_SYNCOK CRS_ISR_SYNCOKF /*!< SYNC event OK flag */
AnnaBridge 189:f392fc9709a3 567 #define RCC_CRS_FLAG_SYNCWARN CRS_ISR_SYNCWARNF /*!< SYNC warning flag */
AnnaBridge 189:f392fc9709a3 568 #define RCC_CRS_FLAG_ERR CRS_ISR_ERRF /*!< Error flag */
AnnaBridge 189:f392fc9709a3 569 #define RCC_CRS_FLAG_ESYNC CRS_ISR_ESYNCF /*!< Expected SYNC flag */
AnnaBridge 189:f392fc9709a3 570 #define RCC_CRS_FLAG_SYNCERR CRS_ISR_SYNCERR /*!< SYNC error */
AnnaBridge 189:f392fc9709a3 571 #define RCC_CRS_FLAG_SYNCMISS CRS_ISR_SYNCMISS /*!< SYNC missed*/
AnnaBridge 189:f392fc9709a3 572 #define RCC_CRS_FLAG_TRIMOVF CRS_ISR_TRIMOVF /*!< Trimming overflow or underflow */
AnnaBridge 189:f392fc9709a3 573
AnnaBridge 189:f392fc9709a3 574 /**
AnnaBridge 189:f392fc9709a3 575 * @}
AnnaBridge 189:f392fc9709a3 576 */
AnnaBridge 189:f392fc9709a3 577
AnnaBridge 189:f392fc9709a3 578 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 579
AnnaBridge 189:f392fc9709a3 580 /**
AnnaBridge 189:f392fc9709a3 581 * @}
AnnaBridge 189:f392fc9709a3 582 */
AnnaBridge 189:f392fc9709a3 583
AnnaBridge 189:f392fc9709a3 584 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 585 /** @defgroup RCCEx_Exported_Macros RCCEx Exported Macros
AnnaBridge 189:f392fc9709a3 586 * @{
AnnaBridge 189:f392fc9709a3 587 */
AnnaBridge 189:f392fc9709a3 588
AnnaBridge 189:f392fc9709a3 589 /** @defgroup RCCEx_Peripheral_Clock_Enable_Disable AHB Peripheral Clock Enable Disable
AnnaBridge 189:f392fc9709a3 590 * @brief Enable or disable the AHB peripheral clock.
AnnaBridge 189:f392fc9709a3 591 * @note After reset, the peripheral clock (used for registers read/write access)
AnnaBridge 189:f392fc9709a3 592 * is disabled and the application software has to enable this clock before
AnnaBridge 189:f392fc9709a3 593 * using it.
AnnaBridge 189:f392fc9709a3 594 * @{
AnnaBridge 189:f392fc9709a3 595 */
AnnaBridge 189:f392fc9709a3 596
AnnaBridge 189:f392fc9709a3 597 #if defined(STM32L062xx) || defined(STM32L063xx)|| defined(STM32L082xx) || defined(STM32L083xx) || defined(STM32L041xx) || defined(STM32L021xx)
AnnaBridge 189:f392fc9709a3 598 #define __HAL_RCC_AES_CLK_ENABLE() do { \
AnnaBridge 189:f392fc9709a3 599 __IO uint32_t tmpreg; \
AnnaBridge 189:f392fc9709a3 600 SET_BIT(RCC->AHBENR, RCC_AHBENR_CRYPEN);\
AnnaBridge 189:f392fc9709a3 601 /* Delay after an RCC peripheral clock enabling */ \
AnnaBridge 189:f392fc9709a3 602 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_CRYPEN);\
AnnaBridge 189:f392fc9709a3 603 UNUSED(tmpreg); \
AnnaBridge 189:f392fc9709a3 604 } while(0)
AnnaBridge 189:f392fc9709a3 605 #define __HAL_RCC_AES_CLK_DISABLE() CLEAR_BIT(RCC->AHBENR, (RCC_AHBENR_CRYPEN))
AnnaBridge 189:f392fc9709a3 606
AnnaBridge 189:f392fc9709a3 607 #define __HAL_RCC_AES_IS_CLK_ENABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_CRYPEN) != RESET)
AnnaBridge 189:f392fc9709a3 608 #define __HAL_RCC_AES_IS_CLK_DISABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_CRYPEN) == RESET)
AnnaBridge 189:f392fc9709a3 609
AnnaBridge 189:f392fc9709a3 610 #endif /* STM32L062xx || STM32L063xx || STM32L072xx || STM32L073xx || STM32L082xx || STM32L083xx || STM32L041xx || STM32L021xx */
AnnaBridge 189:f392fc9709a3 611
AnnaBridge 189:f392fc9709a3 612 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 613 #define __HAL_RCC_TSC_CLK_ENABLE() do { \
AnnaBridge 189:f392fc9709a3 614 __IO uint32_t tmpreg; \
AnnaBridge 189:f392fc9709a3 615 SET_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN);\
AnnaBridge 189:f392fc9709a3 616 /* Delay after an RCC peripheral clock enabling */ \
AnnaBridge 189:f392fc9709a3 617 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN);\
AnnaBridge 189:f392fc9709a3 618 UNUSED(tmpreg); \
AnnaBridge 189:f392fc9709a3 619 } while(0)
AnnaBridge 189:f392fc9709a3 620 #define __HAL_RCC_TSC_CLK_DISABLE() CLEAR_BIT(RCC->AHBENR, (RCC_AHBENR_TSCEN))
AnnaBridge 189:f392fc9709a3 621
AnnaBridge 189:f392fc9709a3 622 #define __HAL_RCC_TSC_IS_CLK_ENABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN) != RESET)
AnnaBridge 189:f392fc9709a3 623 #define __HAL_RCC_TSC_IS_CLK_DISABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN) == RESET)
AnnaBridge 189:f392fc9709a3 624
AnnaBridge 189:f392fc9709a3 625 #define __HAL_RCC_RNG_CLK_ENABLE() do { \
AnnaBridge 189:f392fc9709a3 626 __IO uint32_t tmpreg; \
AnnaBridge 189:f392fc9709a3 627 SET_BIT(RCC->AHBENR, RCC_AHBENR_RNGEN);\
AnnaBridge 189:f392fc9709a3 628 /* Delay after an RCC peripheral clock enabling */ \
AnnaBridge 189:f392fc9709a3 629 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_RNGEN);\
AnnaBridge 189:f392fc9709a3 630 UNUSED(tmpreg); \
AnnaBridge 189:f392fc9709a3 631 } while(0)
AnnaBridge 189:f392fc9709a3 632 #define __HAL_RCC_RNG_CLK_DISABLE() CLEAR_BIT(RCC->AHBENR, (RCC_AHBENR_RNGEN))
AnnaBridge 189:f392fc9709a3 633
AnnaBridge 189:f392fc9709a3 634 #define __HAL_RCC_RNG_IS_CLK_ENABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_RNGEN) != RESET)
AnnaBridge 189:f392fc9709a3 635 #define __HAL_RCC_RNG_IS_CLK_DISABLED() (READ_BIT(RCC->AHBENR, RCC_AHBENR_RNGEN) == RESET)
AnnaBridge 189:f392fc9709a3 636 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 637
AnnaBridge 189:f392fc9709a3 638 /**
AnnaBridge 189:f392fc9709a3 639 * @}
AnnaBridge 189:f392fc9709a3 640 */
AnnaBridge 189:f392fc9709a3 641
AnnaBridge 189:f392fc9709a3 642 /** @defgroup RCCEx_IOPORT_Clock_Enable_Disable IOPORT Peripheral Clock Enable Disable
AnnaBridge 189:f392fc9709a3 643 * @brief Enable or disable the IOPORT peripheral clock.
AnnaBridge 189:f392fc9709a3 644 * @note After reset, the peripheral clock (used for registers read/write access)
AnnaBridge 189:f392fc9709a3 645 * is disabled and the application software has to enable this clock before
AnnaBridge 189:f392fc9709a3 646 * using it.
AnnaBridge 189:f392fc9709a3 647 * @{
AnnaBridge 189:f392fc9709a3 648 */
AnnaBridge 189:f392fc9709a3 649 #if defined(GPIOE)
AnnaBridge 189:f392fc9709a3 650 #define __HAL_RCC_GPIOE_CLK_ENABLE() do { \
AnnaBridge 189:f392fc9709a3 651 __IO uint32_t tmpreg; \
AnnaBridge 189:f392fc9709a3 652 SET_BIT(RCC->IOPENR, RCC_IOPENR_GPIOEEN);\
AnnaBridge 189:f392fc9709a3 653 /* Delay after an RCC peripheral clock enabling */ \
AnnaBridge 189:f392fc9709a3 654 tmpreg = READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIOEEN);\
AnnaBridge 189:f392fc9709a3 655 UNUSED(tmpreg); \
AnnaBridge 189:f392fc9709a3 656 } while(0)
AnnaBridge 189:f392fc9709a3 657
AnnaBridge 189:f392fc9709a3 658 #define __HAL_RCC_GPIOE_CLK_DISABLE() CLEAR_BIT(RCC->IOPENR,(RCC_IOPENR_GPIOEEN))
AnnaBridge 189:f392fc9709a3 659
AnnaBridge 189:f392fc9709a3 660 #define __HAL_RCC_GPIOE_IS_CLK_ENABLED() (READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIOEEN) != RESET)
AnnaBridge 189:f392fc9709a3 661 #define __HAL_RCC_GPIOE_IS_CLK_DISABLED() (READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIOEEN) == RESET)
AnnaBridge 189:f392fc9709a3 662
AnnaBridge 189:f392fc9709a3 663 #endif /* GPIOE */
AnnaBridge 189:f392fc9709a3 664 #if defined(GPIOD)
AnnaBridge 189:f392fc9709a3 665 #define __HAL_RCC_GPIOD_CLK_ENABLE() do { \
AnnaBridge 189:f392fc9709a3 666 __IO uint32_t tmpreg; \
AnnaBridge 189:f392fc9709a3 667 SET_BIT(RCC->IOPENR, RCC_IOPENR_GPIODEN);\
AnnaBridge 189:f392fc9709a3 668 /* Delay after an RCC peripheral clock enabling */ \
AnnaBridge 189:f392fc9709a3 669 tmpreg = READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIODEN);\
AnnaBridge 189:f392fc9709a3 670 UNUSED(tmpreg); \
AnnaBridge 189:f392fc9709a3 671 } while(0)
AnnaBridge 189:f392fc9709a3 672 #define __HAL_RCC_GPIOD_CLK_DISABLE() CLEAR_BIT(RCC->IOPENR,(RCC_IOPENR_GPIODEN))
AnnaBridge 189:f392fc9709a3 673
AnnaBridge 189:f392fc9709a3 674 #define __HAL_RCC_GPIOD_IS_CLK_ENABLED() (READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIODEN) != RESET)
AnnaBridge 189:f392fc9709a3 675 #define __HAL_RCC_GPIOD_IS_CLK_DISABLED() (READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIODEN) == RESET)
AnnaBridge 189:f392fc9709a3 676
AnnaBridge 189:f392fc9709a3 677 #endif /* GPIOD */
AnnaBridge 189:f392fc9709a3 678 /**
AnnaBridge 189:f392fc9709a3 679 * @}
AnnaBridge 189:f392fc9709a3 680 */
AnnaBridge 189:f392fc9709a3 681
AnnaBridge 189:f392fc9709a3 682 /** @defgroup RCCEx_APB1_Clock_Enable_Disable APB1 Peripheral Clock Enable Disable
AnnaBridge 189:f392fc9709a3 683 * @brief Enable or disable the APB1 peripheral clock.
AnnaBridge 189:f392fc9709a3 684 * @note After reset, the peripheral clock (used for registers read/write access)
AnnaBridge 189:f392fc9709a3 685 * is disabled and the application software has to enable this clock before
AnnaBridge 189:f392fc9709a3 686 * using it.
AnnaBridge 189:f392fc9709a3 687 * @{
AnnaBridge 189:f392fc9709a3 688 */
AnnaBridge 189:f392fc9709a3 689
AnnaBridge 189:f392fc9709a3 690 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 691 #define __HAL_RCC_USB_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USBEN))
AnnaBridge 189:f392fc9709a3 692 #define __HAL_RCC_USB_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USBEN))
AnnaBridge 189:f392fc9709a3 693
AnnaBridge 189:f392fc9709a3 694 #define __HAL_RCC_USB_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN) != RESET)
AnnaBridge 189:f392fc9709a3 695 #define __HAL_RCC_USB_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN) == RESET)
AnnaBridge 189:f392fc9709a3 696
AnnaBridge 189:f392fc9709a3 697 #define __HAL_RCC_CRS_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_CRSEN))
AnnaBridge 189:f392fc9709a3 698 #define __HAL_RCC_CRS_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR,(RCC_APB1ENR_CRSEN))
AnnaBridge 189:f392fc9709a3 699
AnnaBridge 189:f392fc9709a3 700 #define __HAL_RCC_CRS_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CRSEN) != RESET)
AnnaBridge 189:f392fc9709a3 701 #define __HAL_RCC_CRS_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CRSEN) == RESET)
AnnaBridge 189:f392fc9709a3 702
AnnaBridge 189:f392fc9709a3 703 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 704
AnnaBridge 189:f392fc9709a3 705
AnnaBridge 189:f392fc9709a3 706 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx)
AnnaBridge 189:f392fc9709a3 707 #define __HAL_RCC_LCD_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LCDEN))
AnnaBridge 189:f392fc9709a3 708 #define __HAL_RCC_LCD_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LCDEN))
AnnaBridge 189:f392fc9709a3 709
AnnaBridge 189:f392fc9709a3 710 #define __HAL_RCC_LCD_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LCDEN) != RESET)
AnnaBridge 189:f392fc9709a3 711 #define __HAL_RCC_LCD_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LCDEN) == RESET)
AnnaBridge 189:f392fc9709a3 712
AnnaBridge 189:f392fc9709a3 713 #endif /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 714
AnnaBridge 189:f392fc9709a3 715 #if defined(STM32L053xx) || defined(STM32L063xx) \
AnnaBridge 189:f392fc9709a3 716 || defined(STM32L052xx) || defined(STM32L062xx) \
AnnaBridge 189:f392fc9709a3 717 || defined(STM32L051xx) || defined(STM32L061xx)
AnnaBridge 189:f392fc9709a3 718 #define __HAL_RCC_TIM2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 719 #define __HAL_RCC_TIM6_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM6EN))
AnnaBridge 189:f392fc9709a3 720 #define __HAL_RCC_SPI2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_SPI2EN))
AnnaBridge 189:f392fc9709a3 721 #define __HAL_RCC_USART2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 722 #define __HAL_RCC_LPUART1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 723 #define __HAL_RCC_I2C1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 724 #define __HAL_RCC_I2C2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C2EN))
AnnaBridge 189:f392fc9709a3 725 #define __HAL_RCC_DAC_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_DACEN))
AnnaBridge 189:f392fc9709a3 726 #define __HAL_RCC_LPTIM1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 727
AnnaBridge 189:f392fc9709a3 728 #define __HAL_RCC_TIM2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 729 #define __HAL_RCC_TIM6_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM6EN))
AnnaBridge 189:f392fc9709a3 730 #define __HAL_RCC_SPI2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_SPI2EN))
AnnaBridge 189:f392fc9709a3 731 #define __HAL_RCC_USART2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 732 #define __HAL_RCC_LPUART1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 733 #define __HAL_RCC_I2C1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 734 #define __HAL_RCC_I2C2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C2EN))
AnnaBridge 189:f392fc9709a3 735 #define __HAL_RCC_DAC_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_DACEN))
AnnaBridge 189:f392fc9709a3 736 #define __HAL_RCC_LPTIM1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 737
AnnaBridge 189:f392fc9709a3 738 #define __HAL_RCC_TIM2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) != RESET)
AnnaBridge 189:f392fc9709a3 739 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN) != RESET)
AnnaBridge 189:f392fc9709a3 740 #define __HAL_RCC_SPI2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN) != RESET)
AnnaBridge 189:f392fc9709a3 741 #define __HAL_RCC_USART2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) != RESET)
AnnaBridge 189:f392fc9709a3 742 #define __HAL_RCC_LPUART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) != RESET)
AnnaBridge 189:f392fc9709a3 743 #define __HAL_RCC_I2C1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) != RESET)
AnnaBridge 189:f392fc9709a3 744 #define __HAL_RCC_I2C2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN) != RESET)
AnnaBridge 189:f392fc9709a3 745 #define __HAL_RCC_DAC_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN) != RESET)
AnnaBridge 189:f392fc9709a3 746 #define __HAL_RCC_LPTIM1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) != RESET)
AnnaBridge 189:f392fc9709a3 747 #define __HAL_RCC_TIM2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) == RESET)
AnnaBridge 189:f392fc9709a3 748 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN) == RESET)
AnnaBridge 189:f392fc9709a3 749 #define __HAL_RCC_SPI2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN) == RESET)
AnnaBridge 189:f392fc9709a3 750 #define __HAL_RCC_USART2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) == RESET)
AnnaBridge 189:f392fc9709a3 751 #define __HAL_RCC_LPUART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) == RESET)
AnnaBridge 189:f392fc9709a3 752 #define __HAL_RCC_I2C1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) == RESET)
AnnaBridge 189:f392fc9709a3 753 #define __HAL_RCC_I2C2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN) == RESET)
AnnaBridge 189:f392fc9709a3 754 #define __HAL_RCC_DAC_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN) == RESET)
AnnaBridge 189:f392fc9709a3 755 #define __HAL_RCC_LPTIM1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) == RESET)
AnnaBridge 189:f392fc9709a3 756
AnnaBridge 189:f392fc9709a3 757 #endif /* STM32L051xx || STM32L061xx || */
AnnaBridge 189:f392fc9709a3 758 /* STM32L052xx || STM32L062xx || */
AnnaBridge 189:f392fc9709a3 759 /* STM32L053xx || STM32L063xx || */
AnnaBridge 189:f392fc9709a3 760
AnnaBridge 189:f392fc9709a3 761 #if defined(STM32L011xx) || defined(STM32L021xx) || defined(STM32L031xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 762 #define __HAL_RCC_TIM2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 763 #define __HAL_RCC_USART2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 764 #define __HAL_RCC_LPUART1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 765 #define __HAL_RCC_I2C1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 766 #define __HAL_RCC_LPTIM1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 767
AnnaBridge 189:f392fc9709a3 768 #define __HAL_RCC_TIM2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 769 #define __HAL_RCC_USART2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 770 #define __HAL_RCC_LPUART1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 771 #define __HAL_RCC_I2C1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 772 #define __HAL_RCC_LPTIM1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 773
AnnaBridge 189:f392fc9709a3 774 #define __HAL_RCC_TIM2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) != RESET)
AnnaBridge 189:f392fc9709a3 775 #define __HAL_RCC_USART2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) != RESET)
AnnaBridge 189:f392fc9709a3 776 #define __HAL_RCC_LPUART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) != RESET)
AnnaBridge 189:f392fc9709a3 777 #define __HAL_RCC_I2C1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) != RESET)
AnnaBridge 189:f392fc9709a3 778 #define __HAL_RCC_LPTIM1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) != RESET)
AnnaBridge 189:f392fc9709a3 779 #define __HAL_RCC_TIM2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) == RESET)
AnnaBridge 189:f392fc9709a3 780 #define __HAL_RCC_USART2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) == RESET)
AnnaBridge 189:f392fc9709a3 781 #define __HAL_RCC_LPUART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) == RESET)
AnnaBridge 189:f392fc9709a3 782 #define __HAL_RCC_I2C1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) == RESET)
AnnaBridge 189:f392fc9709a3 783 #define __HAL_RCC_LPTIM1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) == RESET)
AnnaBridge 189:f392fc9709a3 784
AnnaBridge 189:f392fc9709a3 785 #endif /* STM32L011xx || STM32L021xx || STM32L031xx || STM32L041xx */
AnnaBridge 189:f392fc9709a3 786
AnnaBridge 189:f392fc9709a3 787
AnnaBridge 189:f392fc9709a3 788 #if defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 789 || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 790 || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 791 #define __HAL_RCC_TIM2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 792 #define __HAL_RCC_TIM3_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM3EN))
AnnaBridge 189:f392fc9709a3 793 #define __HAL_RCC_TIM6_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM6EN))
AnnaBridge 189:f392fc9709a3 794 #define __HAL_RCC_TIM7_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM7EN))
AnnaBridge 189:f392fc9709a3 795 #define __HAL_RCC_SPI2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_SPI2EN))
AnnaBridge 189:f392fc9709a3 796 #define __HAL_RCC_USART2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 797 #define __HAL_RCC_USART4_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART4EN))
AnnaBridge 189:f392fc9709a3 798 #define __HAL_RCC_USART5_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART5EN))
AnnaBridge 189:f392fc9709a3 799 #define __HAL_RCC_LPUART1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 800 #define __HAL_RCC_I2C1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 801 #define __HAL_RCC_I2C2_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C2EN))
AnnaBridge 189:f392fc9709a3 802 #define __HAL_RCC_I2C3_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C3EN))
AnnaBridge 189:f392fc9709a3 803 #define __HAL_RCC_DAC_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_DACEN))
AnnaBridge 189:f392fc9709a3 804 #define __HAL_RCC_LPTIM1_CLK_ENABLE() SET_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 805
AnnaBridge 189:f392fc9709a3 806 #define __HAL_RCC_TIM2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM2EN))
AnnaBridge 189:f392fc9709a3 807 #define __HAL_RCC_TIM3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM3EN))
AnnaBridge 189:f392fc9709a3 808 #define __HAL_RCC_TIM6_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM6EN))
AnnaBridge 189:f392fc9709a3 809 #define __HAL_RCC_TIM7_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_TIM7EN))
AnnaBridge 189:f392fc9709a3 810 #define __HAL_RCC_SPI2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_SPI2EN))
AnnaBridge 189:f392fc9709a3 811 #define __HAL_RCC_USART2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART2EN))
AnnaBridge 189:f392fc9709a3 812 #define __HAL_RCC_USART4_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART4EN))
AnnaBridge 189:f392fc9709a3 813 #define __HAL_RCC_USART5_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_USART5EN))
AnnaBridge 189:f392fc9709a3 814 #define __HAL_RCC_LPUART1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPUART1EN))
AnnaBridge 189:f392fc9709a3 815 #define __HAL_RCC_I2C1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C1EN))
AnnaBridge 189:f392fc9709a3 816 #define __HAL_RCC_I2C2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C2EN))
AnnaBridge 189:f392fc9709a3 817 #define __HAL_RCC_I2C3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_I2C3EN))
AnnaBridge 189:f392fc9709a3 818 #define __HAL_RCC_DAC_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_DACEN))
AnnaBridge 189:f392fc9709a3 819 #define __HAL_RCC_LPTIM1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR, (RCC_APB1ENR_LPTIM1EN))
AnnaBridge 189:f392fc9709a3 820
AnnaBridge 189:f392fc9709a3 821 #define __HAL_RCC_TIM2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) != RESET)
AnnaBridge 189:f392fc9709a3 822 #define __HAL_RCC_TIM3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM3EN) != RESET)
AnnaBridge 189:f392fc9709a3 823 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN) != RESET)
AnnaBridge 189:f392fc9709a3 824 #define __HAL_RCC_TIM7_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN) != RESET)
AnnaBridge 189:f392fc9709a3 825 #define __HAL_RCC_SPI2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN) != RESET)
AnnaBridge 189:f392fc9709a3 826 #define __HAL_RCC_USART2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) != RESET)
AnnaBridge 189:f392fc9709a3 827 #define __HAL_RCC_USART4_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART4EN) != RESET)
AnnaBridge 189:f392fc9709a3 828 #define __HAL_RCC_USART5_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART5EN) != RESET)
AnnaBridge 189:f392fc9709a3 829 #define __HAL_RCC_LPUART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) != RESET)
AnnaBridge 189:f392fc9709a3 830 #define __HAL_RCC_I2C1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) != RESET)
AnnaBridge 189:f392fc9709a3 831 #define __HAL_RCC_I2C2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN) != RESET)
AnnaBridge 189:f392fc9709a3 832 #define __HAL_RCC_I2C3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C3EN) != RESET)
AnnaBridge 189:f392fc9709a3 833 #define __HAL_RCC_DAC_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN) != RESET)
AnnaBridge 189:f392fc9709a3 834 #define __HAL_RCC_LPTIM1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) != RESET)
AnnaBridge 189:f392fc9709a3 835 #define __HAL_RCC_TIM2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN) == RESET)
AnnaBridge 189:f392fc9709a3 836 #define __HAL_RCC_TIM3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM3EN) == RESET)
AnnaBridge 189:f392fc9709a3 837 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN) == RESET)
AnnaBridge 189:f392fc9709a3 838 #define __HAL_RCC_TIM7_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN) == RESET)
AnnaBridge 189:f392fc9709a3 839 #define __HAL_RCC_SPI2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN) == RESET)
AnnaBridge 189:f392fc9709a3 840 #define __HAL_RCC_USART2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN) == RESET)
AnnaBridge 189:f392fc9709a3 841 #define __HAL_RCC_USART4_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART4EN) == RESET)
AnnaBridge 189:f392fc9709a3 842 #define __HAL_RCC_USART5_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART5EN) == RESET)
AnnaBridge 189:f392fc9709a3 843 #define __HAL_RCC_LPUART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPUART1EN) == RESET)
AnnaBridge 189:f392fc9709a3 844 #define __HAL_RCC_I2C1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN) == RESET)
AnnaBridge 189:f392fc9709a3 845 #define __HAL_RCC_I2C2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN) == RESET)
AnnaBridge 189:f392fc9709a3 846 #define __HAL_RCC_I2C3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C3EN) == RESET)
AnnaBridge 189:f392fc9709a3 847 #define __HAL_RCC_DAC_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN) == RESET)
AnnaBridge 189:f392fc9709a3 848 #define __HAL_RCC_LPTIM1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR, RCC_APB1ENR_LPTIM1EN) == RESET)
AnnaBridge 189:f392fc9709a3 849
AnnaBridge 189:f392fc9709a3 850 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 851 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 852 /* STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 853
AnnaBridge 189:f392fc9709a3 854 /**
AnnaBridge 189:f392fc9709a3 855 * @}
AnnaBridge 189:f392fc9709a3 856 */
AnnaBridge 189:f392fc9709a3 857
AnnaBridge 189:f392fc9709a3 858 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 859 || defined(STM32L052xx) || defined(STM32L062xx) || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 860 || defined(STM32L051xx) || defined(STM32L061xx) || defined(STM32L071xx) || defined(STM32L081xx) \
AnnaBridge 189:f392fc9709a3 861 || defined(STM32L031xx) || defined(STM32L041xx) || defined(STM32L011xx) || defined(STM32L021xx)
AnnaBridge 189:f392fc9709a3 862 /** @defgroup RCCEx_APB2_Clock_Enable_Disable APB2 Peripheral Clock Enable Disable
AnnaBridge 189:f392fc9709a3 863 * @brief Enable or disable the APB2 peripheral clock.
AnnaBridge 189:f392fc9709a3 864 * @note After reset, the peripheral clock (used for registers read/write access)
AnnaBridge 189:f392fc9709a3 865 * is disabled and the application software has to enable this clock before
AnnaBridge 189:f392fc9709a3 866 * using it.
AnnaBridge 189:f392fc9709a3 867 * @{
AnnaBridge 189:f392fc9709a3 868 */
AnnaBridge 189:f392fc9709a3 869 #define __HAL_RCC_TIM21_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM21EN))
AnnaBridge 189:f392fc9709a3 870 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 871 #define __HAL_RCC_TIM22_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM22EN))
AnnaBridge 189:f392fc9709a3 872 #endif
AnnaBridge 189:f392fc9709a3 873 #define __HAL_RCC_ADC1_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_ADC1EN))
AnnaBridge 189:f392fc9709a3 874 #define __HAL_RCC_SPI1_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_SPI1EN))
AnnaBridge 189:f392fc9709a3 875 #define __HAL_RCC_USART1_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_USART1EN))
AnnaBridge 189:f392fc9709a3 876
AnnaBridge 189:f392fc9709a3 877 #define __HAL_RCC_TIM21_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM21EN))
AnnaBridge 189:f392fc9709a3 878 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 879 #define __HAL_RCC_TIM22_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM22EN))
AnnaBridge 189:f392fc9709a3 880 #endif
AnnaBridge 189:f392fc9709a3 881 #define __HAL_RCC_ADC1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_ADC1EN))
AnnaBridge 189:f392fc9709a3 882 #define __HAL_RCC_SPI1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_SPI1EN))
AnnaBridge 189:f392fc9709a3 883 #define __HAL_RCC_USART1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_USART1EN))
AnnaBridge 189:f392fc9709a3 884 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 885 #define __HAL_RCC_FIREWALL_CLK_ENABLE() SET_BIT(RCC->APB2ENR, (RCC_APB2ENR_MIFIEN))
AnnaBridge 189:f392fc9709a3 886 #define __HAL_RCC_FIREWALL_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, (RCC_APB2ENR_MIFIEN))
AnnaBridge 189:f392fc9709a3 887 #endif /* !(STM32L011xx) && !(STM32L021xx) && !STM32L031xx && !STM32L041xx */
AnnaBridge 189:f392fc9709a3 888
AnnaBridge 189:f392fc9709a3 889 #define __HAL_RCC_TIM21_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM21EN) != RESET)
AnnaBridge 189:f392fc9709a3 890 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 891 #define __HAL_RCC_TIM22_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM22EN) != RESET)
AnnaBridge 189:f392fc9709a3 892 #endif
AnnaBridge 189:f392fc9709a3 893 #define __HAL_RCC_ADC1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_ADC1EN) != RESET)
AnnaBridge 189:f392fc9709a3 894 #define __HAL_RCC_SPI1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN) != RESET)
AnnaBridge 189:f392fc9709a3 895 #define __HAL_RCC_USART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN) != RESET)
AnnaBridge 189:f392fc9709a3 896
AnnaBridge 189:f392fc9709a3 897 #define __HAL_RCC_TIM21_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM21EN) == RESET)
AnnaBridge 189:f392fc9709a3 898 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 899 #define __HAL_RCC_TIM22_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_TIM22EN) == RESET)
AnnaBridge 189:f392fc9709a3 900 #endif
AnnaBridge 189:f392fc9709a3 901 #define __HAL_RCC_ADC1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_ADC1EN) == RESET)
AnnaBridge 189:f392fc9709a3 902 #define __HAL_RCC_SPI1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_SPI1EN) == RESET)
AnnaBridge 189:f392fc9709a3 903 #define __HAL_RCC_USART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_USART1EN) == RESET)
AnnaBridge 189:f392fc9709a3 904 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 905 #define __HAL_RCC_FIREWALL_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_MIFIEN) != RESET)
AnnaBridge 189:f392fc9709a3 906 #define __HAL_RCC_FIREWALL_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, (RCC_APB2ENR_MIFIEN) == RESET)
AnnaBridge 189:f392fc9709a3 907 #endif /* !(STM32L011xx) && !(STM32L021xx) && !STM32L031xx && !STM32L041xx */
AnnaBridge 189:f392fc9709a3 908
AnnaBridge 189:f392fc9709a3 909 #endif /* STM32L051xx || STM32L061xx || STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 910 /* STM32L052xx || STM32L062xx || STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 911 /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 912 /* STM32L031xx || STM32L041xx || STM32L011xx || STM32L021xx */
AnnaBridge 189:f392fc9709a3 913
AnnaBridge 189:f392fc9709a3 914 /**
AnnaBridge 189:f392fc9709a3 915 * @}
AnnaBridge 189:f392fc9709a3 916 */
AnnaBridge 189:f392fc9709a3 917
AnnaBridge 189:f392fc9709a3 918 /** @defgroup RCCEx_AHB_Force_Release_Reset AHB Peripheral Force Release Reset
AnnaBridge 189:f392fc9709a3 919 * @brief Force or release AHB peripheral reset.
AnnaBridge 189:f392fc9709a3 920 * @{
AnnaBridge 189:f392fc9709a3 921 */
AnnaBridge 189:f392fc9709a3 922 #if defined(STM32L062xx) || defined(STM32L063xx)|| defined(STM32L082xx) || defined(STM32L083xx) || defined(STM32L041xx) || defined(STM32L021xx)
AnnaBridge 189:f392fc9709a3 923 #define __HAL_RCC_AES_FORCE_RESET() SET_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_CRYPRST))
AnnaBridge 189:f392fc9709a3 924 #define __HAL_RCC_AES_RELEASE_RESET() CLEAR_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_CRYPRST))
AnnaBridge 189:f392fc9709a3 925 #endif /* STM32L062xx || STM32L063xx || STM32L072xx || STM32L073xx || STM32L082xx || STM32L083xx || STM32L041xx || STM32L021xx*/
AnnaBridge 189:f392fc9709a3 926
AnnaBridge 189:f392fc9709a3 927 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 928 #define __HAL_RCC_TSC_FORCE_RESET() SET_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_TSCRST))
AnnaBridge 189:f392fc9709a3 929 #define __HAL_RCC_TSC_RELEASE_RESET() CLEAR_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_TSCRST))
AnnaBridge 189:f392fc9709a3 930 #define __HAL_RCC_RNG_FORCE_RESET() SET_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_RNGRST))
AnnaBridge 189:f392fc9709a3 931 #define __HAL_RCC_RNG_RELEASE_RESET() CLEAR_BIT(RCC->AHBRSTR, (RCC_AHBRSTR_RNGRST))
AnnaBridge 189:f392fc9709a3 932 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 933
AnnaBridge 189:f392fc9709a3 934 /**
AnnaBridge 189:f392fc9709a3 935 * @}
AnnaBridge 189:f392fc9709a3 936 */
AnnaBridge 189:f392fc9709a3 937
AnnaBridge 189:f392fc9709a3 938 /** @defgroup RCCEx_IOPORT_Force_Release_Reset IOPORT Peripheral Force Release Reset
AnnaBridge 189:f392fc9709a3 939 * @brief Force or release IOPORT peripheral reset.
AnnaBridge 189:f392fc9709a3 940 * @{
AnnaBridge 189:f392fc9709a3 941 */
AnnaBridge 189:f392fc9709a3 942 #if defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 943 || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 944 || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 945 #define __HAL_RCC_GPIOE_FORCE_RESET() SET_BIT(RCC->IOPRSTR, (RCC_IOPRSTR_GPIOERST))
AnnaBridge 189:f392fc9709a3 946
AnnaBridge 189:f392fc9709a3 947 #define __HAL_RCC_GPIOE_RELEASE_RESET() CLEAR_BIT(RCC->IOPRSTR,(RCC_IOPRSTR_GPIOERST))
AnnaBridge 189:f392fc9709a3 948
AnnaBridge 189:f392fc9709a3 949 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 950 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 951 /* STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 952 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 953 #define __HAL_RCC_GPIOD_FORCE_RESET() SET_BIT(RCC->IOPRSTR, (RCC_IOPRSTR_GPIODRST))
AnnaBridge 189:f392fc9709a3 954 #define __HAL_RCC_GPIOD_RELEASE_RESET() CLEAR_BIT(RCC->IOPRSTR,(RCC_IOPRSTR_GPIODRST))
AnnaBridge 189:f392fc9709a3 955 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) */
AnnaBridge 189:f392fc9709a3 956 /**
AnnaBridge 189:f392fc9709a3 957 * @}
AnnaBridge 189:f392fc9709a3 958 */
AnnaBridge 189:f392fc9709a3 959
AnnaBridge 189:f392fc9709a3 960 /** @defgroup RCCEx_APB1_Force_Release_Reset APB1 Peripheral Force Release Reset
AnnaBridge 189:f392fc9709a3 961 * @brief Force or release APB1 peripheral reset.
AnnaBridge 189:f392fc9709a3 962 * @{
AnnaBridge 189:f392fc9709a3 963 */
AnnaBridge 189:f392fc9709a3 964
AnnaBridge 189:f392fc9709a3 965 #if defined(STM32L053xx) || defined(STM32L063xx) \
AnnaBridge 189:f392fc9709a3 966 || defined(STM32L052xx) || defined(STM32L062xx) \
AnnaBridge 189:f392fc9709a3 967 || defined(STM32L051xx) || defined(STM32L061xx)
AnnaBridge 189:f392fc9709a3 968 #define __HAL_RCC_TIM2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 969 #define __HAL_RCC_TIM6_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM6RST))
AnnaBridge 189:f392fc9709a3 970 #define __HAL_RCC_LPTIM1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 971 #define __HAL_RCC_I2C1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 972 #define __HAL_RCC_I2C2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C2RST))
AnnaBridge 189:f392fc9709a3 973 #define __HAL_RCC_USART2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 974 #define __HAL_RCC_LPUART1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 975 #define __HAL_RCC_SPI2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_SPI2RST))
AnnaBridge 189:f392fc9709a3 976 #define __HAL_RCC_DAC_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_DACRST))
AnnaBridge 189:f392fc9709a3 977
AnnaBridge 189:f392fc9709a3 978 #define __HAL_RCC_TIM2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 979 #define __HAL_RCC_TIM6_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM6RST))
AnnaBridge 189:f392fc9709a3 980 #define __HAL_RCC_LPTIM1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 981 #define __HAL_RCC_I2C1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 982 #define __HAL_RCC_I2C2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C2RST))
AnnaBridge 189:f392fc9709a3 983 #define __HAL_RCC_USART2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 984 #define __HAL_RCC_LPUART1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 985 #define __HAL_RCC_SPI2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_SPI2RST))
AnnaBridge 189:f392fc9709a3 986 #define __HAL_RCC_DAC_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_DACRST))
AnnaBridge 189:f392fc9709a3 987 #endif /* STM32L051xx || STM32L061xx || */
AnnaBridge 189:f392fc9709a3 988 /* STM32L052xx || STM32L062xx || */
AnnaBridge 189:f392fc9709a3 989 /* STM32L053xx || STM32L063xx */
AnnaBridge 189:f392fc9709a3 990 #if defined(STM32L011xx) || defined(STM32L021xx) || defined(STM32L031xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 991 #define __HAL_RCC_TIM2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 992 #define __HAL_RCC_LPTIM1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 993 #define __HAL_RCC_I2C1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 994 #define __HAL_RCC_USART2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 995 #define __HAL_RCC_LPUART1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 996
AnnaBridge 189:f392fc9709a3 997 #define __HAL_RCC_TIM2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 998 #define __HAL_RCC_LPTIM1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 999 #define __HAL_RCC_I2C1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 1000 #define __HAL_RCC_USART2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 1001 #define __HAL_RCC_LPUART1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 1002 #endif /* STM32L031xx || STM32L041xx || STM32L011xx || STM32L021xx */
AnnaBridge 189:f392fc9709a3 1003
AnnaBridge 189:f392fc9709a3 1004 #if defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 1005 || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 1006 || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1007 #define __HAL_RCC_TIM2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 1008 #define __HAL_RCC_TIM3_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM3RST))
AnnaBridge 189:f392fc9709a3 1009 #define __HAL_RCC_TIM6_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM6RST))
AnnaBridge 189:f392fc9709a3 1010 #define __HAL_RCC_TIM7_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM7RST))
AnnaBridge 189:f392fc9709a3 1011 #define __HAL_RCC_LPTIM1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 1012 #define __HAL_RCC_I2C1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 1013 #define __HAL_RCC_I2C2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C2RST))
AnnaBridge 189:f392fc9709a3 1014 #define __HAL_RCC_I2C3_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C3RST))
AnnaBridge 189:f392fc9709a3 1015 #define __HAL_RCC_USART2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 1016 #define __HAL_RCC_USART4_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART4RST))
AnnaBridge 189:f392fc9709a3 1017 #define __HAL_RCC_USART5_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART5RST))
AnnaBridge 189:f392fc9709a3 1018 #define __HAL_RCC_LPUART1_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 1019 #define __HAL_RCC_SPI2_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_SPI2RST))
AnnaBridge 189:f392fc9709a3 1020 #define __HAL_RCC_DAC_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_DACRST))
AnnaBridge 189:f392fc9709a3 1021
AnnaBridge 189:f392fc9709a3 1022 #define __HAL_RCC_TIM2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM2RST))
AnnaBridge 189:f392fc9709a3 1023 #define __HAL_RCC_TIM3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM3RST))
AnnaBridge 189:f392fc9709a3 1024 #define __HAL_RCC_TIM6_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM6RST))
AnnaBridge 189:f392fc9709a3 1025 #define __HAL_RCC_TIM7_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_TIM7RST))
AnnaBridge 189:f392fc9709a3 1026 #define __HAL_RCC_LPTIM1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPTIM1RST))
AnnaBridge 189:f392fc9709a3 1027 #define __HAL_RCC_I2C1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C1RST))
AnnaBridge 189:f392fc9709a3 1028 #define __HAL_RCC_I2C2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C2RST))
AnnaBridge 189:f392fc9709a3 1029 #define __HAL_RCC_I2C3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_I2C3RST))
AnnaBridge 189:f392fc9709a3 1030 #define __HAL_RCC_USART2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART2RST))
AnnaBridge 189:f392fc9709a3 1031 #define __HAL_RCC_USART4_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART4RST))
AnnaBridge 189:f392fc9709a3 1032 #define __HAL_RCC_USART5_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USART5RST))
AnnaBridge 189:f392fc9709a3 1033 #define __HAL_RCC_LPUART1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LPUART1RST))
AnnaBridge 189:f392fc9709a3 1034 #define __HAL_RCC_SPI2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_SPI2RST))
AnnaBridge 189:f392fc9709a3 1035 #define __HAL_RCC_DAC_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_DACRST))
AnnaBridge 189:f392fc9709a3 1036 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1037 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1038 /* STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 1039
AnnaBridge 189:f392fc9709a3 1040 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1041 #define __HAL_RCC_USB_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USBRST))
AnnaBridge 189:f392fc9709a3 1042 #define __HAL_RCC_USB_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_USBRST))
AnnaBridge 189:f392fc9709a3 1043 #define __HAL_RCC_CRS_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_CRSRST))
AnnaBridge 189:f392fc9709a3 1044 #define __HAL_RCC_CRS_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR,(RCC_APB1RSTR_CRSRST))
AnnaBridge 189:f392fc9709a3 1045 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 1046
AnnaBridge 189:f392fc9709a3 1047 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx)
AnnaBridge 189:f392fc9709a3 1048 #define __HAL_RCC_LCD_FORCE_RESET() SET_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LCDRST))
AnnaBridge 189:f392fc9709a3 1049 #define __HAL_RCC_LCD_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR, (RCC_APB1RSTR_LCDRST))
AnnaBridge 189:f392fc9709a3 1050 #endif /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 1051
AnnaBridge 189:f392fc9709a3 1052 /**
AnnaBridge 189:f392fc9709a3 1053 * @}
AnnaBridge 189:f392fc9709a3 1054 */
AnnaBridge 189:f392fc9709a3 1055
AnnaBridge 189:f392fc9709a3 1056 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 1057 || defined(STM32L052xx) || defined(STM32L062xx) || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 1058 || defined(STM32L051xx) || defined(STM32L061xx) || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1059
AnnaBridge 189:f392fc9709a3 1060 /** @defgroup RCCEx_APB2_Force_Release_Reset APB2 Peripheral Force Release Reset
AnnaBridge 189:f392fc9709a3 1061 * @brief Force or release APB2 peripheral reset.
AnnaBridge 189:f392fc9709a3 1062 * @{
AnnaBridge 189:f392fc9709a3 1063 */
AnnaBridge 189:f392fc9709a3 1064 #define __HAL_RCC_USART1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_USART1RST))
AnnaBridge 189:f392fc9709a3 1065 #define __HAL_RCC_ADC1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_ADC1RST))
AnnaBridge 189:f392fc9709a3 1066 #define __HAL_RCC_SPI1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_SPI1RST))
AnnaBridge 189:f392fc9709a3 1067 #define __HAL_RCC_TIM21_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM21RST))
AnnaBridge 189:f392fc9709a3 1068 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1069 #define __HAL_RCC_TIM22_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM22RST))
AnnaBridge 189:f392fc9709a3 1070 #endif
AnnaBridge 189:f392fc9709a3 1071
AnnaBridge 189:f392fc9709a3 1072 #define __HAL_RCC_USART1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_USART1RST))
AnnaBridge 189:f392fc9709a3 1073 #define __HAL_RCC_ADC1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_ADC1RST))
AnnaBridge 189:f392fc9709a3 1074 #define __HAL_RCC_SPI1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_SPI1RST))
AnnaBridge 189:f392fc9709a3 1075 #define __HAL_RCC_TIM21_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM21RST))
AnnaBridge 189:f392fc9709a3 1076 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1077 #define __HAL_RCC_TIM22_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM22RST))
AnnaBridge 189:f392fc9709a3 1078 #endif
AnnaBridge 189:f392fc9709a3 1079 #endif /* STM32L051xx || STM32L061xx || STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1080 /* STM32L052xx || STM32L062xx || STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1081 /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 1082 #if defined(STM32L011xx) || defined(STM32L021xx) || defined(STM32L031xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 1083 #define __HAL_RCC_ADC1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_ADC1RST))
AnnaBridge 189:f392fc9709a3 1084 #define __HAL_RCC_SPI1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_SPI1RST))
AnnaBridge 189:f392fc9709a3 1085 #define __HAL_RCC_TIM21_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM21RST))
AnnaBridge 189:f392fc9709a3 1086 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1087 #define __HAL_RCC_TIM22_FORCE_RESET() SET_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM22RST))
AnnaBridge 189:f392fc9709a3 1088 #endif
AnnaBridge 189:f392fc9709a3 1089 #define __HAL_RCC_ADC1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_ADC1RST))
AnnaBridge 189:f392fc9709a3 1090 #define __HAL_RCC_SPI1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_SPI1RST))
AnnaBridge 189:f392fc9709a3 1091 #define __HAL_RCC_TIM21_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM21RST))
AnnaBridge 189:f392fc9709a3 1092 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1093 #define __HAL_RCC_TIM22_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, (RCC_APB2RSTR_TIM22RST))
AnnaBridge 189:f392fc9709a3 1094 #endif
AnnaBridge 189:f392fc9709a3 1095 #endif /* STM32L031xx || STM32L041xx || STM32L011xx || STM32L021xx*/
AnnaBridge 189:f392fc9709a3 1096
AnnaBridge 189:f392fc9709a3 1097 /**
AnnaBridge 189:f392fc9709a3 1098 * @}
AnnaBridge 189:f392fc9709a3 1099 */
AnnaBridge 189:f392fc9709a3 1100
AnnaBridge 189:f392fc9709a3 1101 /** @defgroup RCCEx_AHB_Clock_Sleep_Enable_Disable AHB Peripheral Clock Sleep Enable Disable
AnnaBridge 189:f392fc9709a3 1102 * @brief Enable or disable the AHB peripheral clock during Low Power (Sleep) mode.
AnnaBridge 189:f392fc9709a3 1103 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
AnnaBridge 189:f392fc9709a3 1104 * power consumption.
AnnaBridge 189:f392fc9709a3 1105 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
AnnaBridge 189:f392fc9709a3 1106 * @note By default, all peripheral clocks are enabled during SLEEP mode.
AnnaBridge 189:f392fc9709a3 1107 * @{
AnnaBridge 189:f392fc9709a3 1108 */
AnnaBridge 189:f392fc9709a3 1109
AnnaBridge 189:f392fc9709a3 1110 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1111 #define __HAL_RCC_TSC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHBSMENR, (RCC_AHBSMENR_TSCSMEN))
AnnaBridge 189:f392fc9709a3 1112 #define __HAL_RCC_RNG_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHBSMENR, (RCC_AHBSMENR_RNGSMEN))
AnnaBridge 189:f392fc9709a3 1113 #define __HAL_RCC_TSC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHBSMENR, (RCC_AHBSMENR_TSCSMEN))
AnnaBridge 189:f392fc9709a3 1114 #define __HAL_RCC_RNG_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHBSMENR, (RCC_AHBSMENR_RNGSMEN))
AnnaBridge 189:f392fc9709a3 1115
AnnaBridge 189:f392fc9709a3 1116 #define __HAL_RCC_TSC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHBSMENR, RCC_AHBSMENR_TSCSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1117 #define __HAL_RCC_RNG_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHBSMENR, RCC_AHBSMENR_RNGSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1118 #define __HAL_RCC_TSC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHBSMENR, RCC_AHBSMENR_TSCSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1119 #define __HAL_RCC_RNG_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHBSMENR, RCC_AHBSMENR_RNGSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1120 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 1121
AnnaBridge 189:f392fc9709a3 1122 #if defined(STM32L062xx) || defined(STM32L063xx)|| defined(STM32L082xx) || defined(STM32L083xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 1123 #define __HAL_RCC_AES_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHBLPENR, (RCC_AHBSMENR_CRYPSMEN))
AnnaBridge 189:f392fc9709a3 1124 #define __HAL_RCC_AES_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHBLPENR, (RCC_AHBSMENR_CRYPSMEN))
AnnaBridge 189:f392fc9709a3 1125
AnnaBridge 189:f392fc9709a3 1126 #define __HAL_RCC_AES_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHBLPENR, RCC_AHBSMENR_CRYPSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1127 #define __HAL_RCC_AES_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHBLPENR, RCC_AHBSMENR_CRYPSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1128 #endif /* STM32L062xx || STM32L063xx || STM32L072xx || STM32L073xx || STM32L082xx || STM32L083xx || STM32L041xx */
AnnaBridge 189:f392fc9709a3 1129
AnnaBridge 189:f392fc9709a3 1130 /**
AnnaBridge 189:f392fc9709a3 1131 * @}
AnnaBridge 189:f392fc9709a3 1132 */
AnnaBridge 189:f392fc9709a3 1133
AnnaBridge 189:f392fc9709a3 1134 /** @defgroup RCCEx_IOPORT_Clock_Sleep_Enable_Disable IOPORT Peripheral Clock Sleep Enable Disable
AnnaBridge 189:f392fc9709a3 1135 * @brief Enable or disable the IOPORT peripheral clock during Low Power (Sleep) mode.
AnnaBridge 189:f392fc9709a3 1136 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
AnnaBridge 189:f392fc9709a3 1137 * power consumption.
AnnaBridge 189:f392fc9709a3 1138 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
AnnaBridge 189:f392fc9709a3 1139 * @note By default, all peripheral clocks are enabled during SLEEP mode.
AnnaBridge 189:f392fc9709a3 1140 * @{
AnnaBridge 189:f392fc9709a3 1141 */
AnnaBridge 189:f392fc9709a3 1142 #if defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 1143 || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 1144 || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1145 #define __HAL_RCC_GPIOE_CLK_SLEEP_ENABLE() SET_BIT(RCC->IOPSMENR, (RCC_IOPSMENR_GPIOESMEN))
AnnaBridge 189:f392fc9709a3 1146 #define __HAL_RCC_GPIOE_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->IOPSMENR,(RCC_IOPSMENR_GPIOESMEN))
AnnaBridge 189:f392fc9709a3 1147
AnnaBridge 189:f392fc9709a3 1148 #define __HAL_RCC_GPIOE_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->IOPSMENR, RCC_IOPSMENR_GPIOESMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1149 #define __HAL_RCC_GPIOE_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->IOPSMENR, RCC_IOPSMENR_GPIOESMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1150 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1151 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1152 /* STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 1153 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 1154 #define __HAL_RCC_GPIOD_CLK_SLEEP_ENABLE() SET_BIT(RCC->IOPSMENR, (RCC_IOPSMENR_GPIODSMEN))
AnnaBridge 189:f392fc9709a3 1155 #define __HAL_RCC_GPIOD_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->IOPSMENR,(RCC_IOPSMENR_GPIODSMEN))
AnnaBridge 189:f392fc9709a3 1156
AnnaBridge 189:f392fc9709a3 1157 #define __HAL_RCC_GPIOD_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->IOPSMENR, RCC_IOPSMENR_GPIODSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1158 #define __HAL_RCC_GPIOD_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->IOPSMENR, RCC_IOPSMENR_GPIODSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1159 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) */
AnnaBridge 189:f392fc9709a3 1160 /**
AnnaBridge 189:f392fc9709a3 1161 * @}
AnnaBridge 189:f392fc9709a3 1162 */
AnnaBridge 189:f392fc9709a3 1163
AnnaBridge 189:f392fc9709a3 1164
AnnaBridge 189:f392fc9709a3 1165 /** @defgroup RCCEx_APB1_Clock_Sleep_Enable_Disable APB1 Peripheral Clock Sleep Enable Disable
AnnaBridge 189:f392fc9709a3 1166 * @brief Enable or disable the APB1 peripheral clock during Low Power (Sleep) mode.
AnnaBridge 189:f392fc9709a3 1167 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
AnnaBridge 189:f392fc9709a3 1168 * power consumption.
AnnaBridge 189:f392fc9709a3 1169 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
AnnaBridge 189:f392fc9709a3 1170 * @note By default, all peripheral clocks are enabled during SLEEP mode.
AnnaBridge 189:f392fc9709a3 1171 * @{
AnnaBridge 189:f392fc9709a3 1172 */
AnnaBridge 189:f392fc9709a3 1173
AnnaBridge 189:f392fc9709a3 1174 #if defined(STM32L053xx) || defined(STM32L063xx) \
AnnaBridge 189:f392fc9709a3 1175 || defined(STM32L052xx) || defined(STM32L062xx) \
AnnaBridge 189:f392fc9709a3 1176 || defined(STM32L051xx) || defined(STM32L061xx)
AnnaBridge 189:f392fc9709a3 1177 #define __HAL_RCC_TIM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1178 #define __HAL_RCC_TIM6_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM6SMEN))
AnnaBridge 189:f392fc9709a3 1179 #define __HAL_RCC_SPI2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_SPI2SMEN))
AnnaBridge 189:f392fc9709a3 1180 #define __HAL_RCC_USART2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1181 #define __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1182 #define __HAL_RCC_I2C1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1183 #define __HAL_RCC_I2C2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C2SMEN))
AnnaBridge 189:f392fc9709a3 1184 #define __HAL_RCC_DAC_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_DACSMEN))
AnnaBridge 189:f392fc9709a3 1185 #define __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1186
AnnaBridge 189:f392fc9709a3 1187 #define __HAL_RCC_TIM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1188 #define __HAL_RCC_TIM6_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM6SMEN))
AnnaBridge 189:f392fc9709a3 1189 #define __HAL_RCC_SPI2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_SPI2SMEN))
AnnaBridge 189:f392fc9709a3 1190 #define __HAL_RCC_USART2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1191 #define __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1192 #define __HAL_RCC_I2C1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1193 #define __HAL_RCC_I2C2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C2SMEN))
AnnaBridge 189:f392fc9709a3 1194 #define __HAL_RCC_DAC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_DACSMEN))
AnnaBridge 189:f392fc9709a3 1195 #define __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1196
AnnaBridge 189:f392fc9709a3 1197 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1198 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM6SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1199 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_SPI2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1200 #define __HAL_RCC_USART2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1201 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1202 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1203 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1204 #define __HAL_RCC_DAC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_DACSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1205 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1206 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1207 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM6SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1208 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_SPI2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1209 #define __HAL_RCC_USART2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1210 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1211 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1212 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1213 #define __HAL_RCC_DAC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_DACSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1214 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1215 #endif /* STM32L051xx || STM32L061xx || */
AnnaBridge 189:f392fc9709a3 1216 /* STM32L052xx || STM32L062xx || */
AnnaBridge 189:f392fc9709a3 1217 /* STM32L053xx || STM32L063xx */
AnnaBridge 189:f392fc9709a3 1218
AnnaBridge 189:f392fc9709a3 1219 #if defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 1220 || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 1221 || defined(STM32L071xx) || defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1222 #define __HAL_RCC_TIM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1223 #define __HAL_RCC_TIM3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM3SMEN))
AnnaBridge 189:f392fc9709a3 1224 #define __HAL_RCC_TIM6_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM6SMEN))
AnnaBridge 189:f392fc9709a3 1225 #define __HAL_RCC_TIM7_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM7SMEN))
AnnaBridge 189:f392fc9709a3 1226 #define __HAL_RCC_SPI2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_SPI2SMEN))
AnnaBridge 189:f392fc9709a3 1227 #define __HAL_RCC_USART2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1228 #define __HAL_RCC_USART4_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART4SMEN))
AnnaBridge 189:f392fc9709a3 1229 #define __HAL_RCC_USART5_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART5SMEN))
AnnaBridge 189:f392fc9709a3 1230 #define __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1231 #define __HAL_RCC_I2C1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1232 #define __HAL_RCC_I2C2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C2SMEN))
AnnaBridge 189:f392fc9709a3 1233 #define __HAL_RCC_I2C3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C3SMEN))
AnnaBridge 189:f392fc9709a3 1234 #define __HAL_RCC_DAC_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_DACSMEN))
AnnaBridge 189:f392fc9709a3 1235 #define __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1236
AnnaBridge 189:f392fc9709a3 1237 #define __HAL_RCC_TIM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1238 #define __HAL_RCC_TIM3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM3SMEN))
AnnaBridge 189:f392fc9709a3 1239 #define __HAL_RCC_TIM6_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM6SMEN))
AnnaBridge 189:f392fc9709a3 1240 #define __HAL_RCC_TIM7_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM7SMEN))
AnnaBridge 189:f392fc9709a3 1241 #define __HAL_RCC_SPI2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_SPI2SMEN))
AnnaBridge 189:f392fc9709a3 1242 #define __HAL_RCC_USART2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1243 #define __HAL_RCC_USART4_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART4SMEN))
AnnaBridge 189:f392fc9709a3 1244 #define __HAL_RCC_USART5_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART5SMEN))
AnnaBridge 189:f392fc9709a3 1245 #define __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1246 #define __HAL_RCC_I2C1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1247 #define __HAL_RCC_I2C2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C2SMEN))
AnnaBridge 189:f392fc9709a3 1248 #define __HAL_RCC_I2C3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C3SMEN))
AnnaBridge 189:f392fc9709a3 1249 #define __HAL_RCC_DAC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_DACSMEN))
AnnaBridge 189:f392fc9709a3 1250 #define __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1251
AnnaBridge 189:f392fc9709a3 1252 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1253 #define __HAL_RCC_TIM3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM3SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1254 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM6SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1255 #define __HAL_RCC_TIM7_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM7SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1256 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_SPI2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1257 #define __HAL_RCC_USART2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1258 #define __HAL_RCC_USART4_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART4SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1259 #define __HAL_RCC_USART5_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART5SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1260 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1261 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1262 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1263 #define __HAL_RCC_I2C3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C3SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1264 #define __HAL_RCC_DAC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_DACSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1265 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1266 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1267 #define __HAL_RCC_TIM3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM3SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1268 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM6SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1269 #define __HAL_RCC_TIM7_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM7SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1270 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_SPI2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1271 #define __HAL_RCC_USART2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1272 #define __HAL_RCC_USART4_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART4SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1273 #define __HAL_RCC_USART5_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART5SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1274 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1275 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1276 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1277 #define __HAL_RCC_I2C3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C3SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1278 #define __HAL_RCC_DAC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_DACSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1279 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1280 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1281 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1282 /* STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 1283
AnnaBridge 189:f392fc9709a3 1284 #if defined(STM32L011xx) || defined(STM32L021xx) || defined(STM32L031xx) || defined(STM32L041xx)
AnnaBridge 189:f392fc9709a3 1285 #define __HAL_RCC_TIM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1286 #define __HAL_RCC_USART2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1287 #define __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1288 #define __HAL_RCC_I2C1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1289 #define __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1290
AnnaBridge 189:f392fc9709a3 1291 #define __HAL_RCC_TIM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_TIM2SMEN))
AnnaBridge 189:f392fc9709a3 1292 #define __HAL_RCC_USART2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USART2SMEN))
AnnaBridge 189:f392fc9709a3 1293 #define __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPUART1SMEN))
AnnaBridge 189:f392fc9709a3 1294 #define __HAL_RCC_I2C1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_I2C1SMEN))
AnnaBridge 189:f392fc9709a3 1295 #define __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LPTIM1SMEN))
AnnaBridge 189:f392fc9709a3 1296
AnnaBridge 189:f392fc9709a3 1297 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1298 #define __HAL_RCC_USART2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1299 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1300 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1301 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1302 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_TIM2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1303 #define __HAL_RCC_USART2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USART2SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1304 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPUART1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1305 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_I2C1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1306 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LPTIM1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1307
AnnaBridge 189:f392fc9709a3 1308 #endif /* STM32L031xx || STM32L041xx || STM32L011xx || STM32L021xx */
AnnaBridge 189:f392fc9709a3 1309
AnnaBridge 189:f392fc9709a3 1310 #if !defined(STM32L011xx) && !defined(STM32L021xx) && !defined(STM32L031xx) && !defined(STM32L041xx) && !defined(STM32L051xx) && !defined(STM32L061xx) && !defined(STM32L071xx) && !defined(STM32L081xx)
AnnaBridge 189:f392fc9709a3 1311 #define __HAL_RCC_USB_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USBSMEN))
AnnaBridge 189:f392fc9709a3 1312 #define __HAL_RCC_USB_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_USBSMEN))
AnnaBridge 189:f392fc9709a3 1313 #define __HAL_RCC_CRS_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_CRSSMEN))
AnnaBridge 189:f392fc9709a3 1314 #define __HAL_RCC_CRS_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_CRSSMEN))
AnnaBridge 189:f392fc9709a3 1315
AnnaBridge 189:f392fc9709a3 1316 #define __HAL_RCC_USB_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USBSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1317 #define __HAL_RCC_USB_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_USBSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1318 #define __HAL_RCC_CRS_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_CRSSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1319 #define __HAL_RCC_CRS_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_CRSSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1320 #endif /* !(STM32L011xx) && !(STM32L021xx) && !(STM32L031xx ) && !(STM32L041xx ) && !(STM32L051xx ) && !(STM32L061xx ) && !(STM32L071xx ) && !(STM32L081xx ) */
AnnaBridge 189:f392fc9709a3 1321
AnnaBridge 189:f392fc9709a3 1322 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx)
AnnaBridge 189:f392fc9709a3 1323 #define __HAL_RCC_LCD_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LCDSMEN))
AnnaBridge 189:f392fc9709a3 1324 #define __HAL_RCC_LCD_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR, (RCC_APB1SMENR_LCDSMEN))
AnnaBridge 189:f392fc9709a3 1325
AnnaBridge 189:f392fc9709a3 1326 #define __HAL_RCC_LCD_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LCDSMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1327 #define __HAL_RCC_LCD_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR, RCC_APB1SMENR_LCDSMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1328 #endif /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 1329
AnnaBridge 189:f392fc9709a3 1330 /**
AnnaBridge 189:f392fc9709a3 1331 * @}
AnnaBridge 189:f392fc9709a3 1332 */
AnnaBridge 189:f392fc9709a3 1333
AnnaBridge 189:f392fc9709a3 1334 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx) \
AnnaBridge 189:f392fc9709a3 1335 || defined(STM32L052xx) || defined(STM32L062xx) || defined(STM32L072xx) || defined(STM32L082xx) \
AnnaBridge 189:f392fc9709a3 1336 || defined(STM32L051xx) || defined(STM32L061xx) || defined(STM32L071xx) || defined(STM32L081xx) \
AnnaBridge 189:f392fc9709a3 1337 || defined(STM32L031xx) || defined(STM32L041xx) || defined(STM32L011xx) || defined(STM32L021xx)
AnnaBridge 189:f392fc9709a3 1338
AnnaBridge 189:f392fc9709a3 1339 /** @defgroup RCCEx_APB2_Clock_Sleep_Enable_Disable APB2 Peripheral Clock Sleep Enable Disable
AnnaBridge 189:f392fc9709a3 1340 * @brief Enable or disable the APB2 peripheral clock during Low Power (Sleep) mode.
AnnaBridge 189:f392fc9709a3 1341 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
AnnaBridge 189:f392fc9709a3 1342 * power consumption.
AnnaBridge 189:f392fc9709a3 1343 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
AnnaBridge 189:f392fc9709a3 1344 * @note By default, all peripheral clocks are enabled during SLEEP mode.
AnnaBridge 189:f392fc9709a3 1345 * @{
AnnaBridge 189:f392fc9709a3 1346 */
AnnaBridge 189:f392fc9709a3 1347 #define __HAL_RCC_TIM21_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM21SMEN))
AnnaBridge 189:f392fc9709a3 1348 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1349 #define __HAL_RCC_TIM22_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM22SMEN))
AnnaBridge 189:f392fc9709a3 1350 #endif
AnnaBridge 189:f392fc9709a3 1351 #define __HAL_RCC_ADC1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_ADC1SMEN))
AnnaBridge 189:f392fc9709a3 1352 #define __HAL_RCC_SPI1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_SPI1SMEN))
AnnaBridge 189:f392fc9709a3 1353 #define __HAL_RCC_USART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_USART1SMEN))
AnnaBridge 189:f392fc9709a3 1354
AnnaBridge 189:f392fc9709a3 1355 #define __HAL_RCC_TIM21_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM21SMEN))
AnnaBridge 189:f392fc9709a3 1356 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1357 #define __HAL_RCC_TIM22_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM22SMEN))
AnnaBridge 189:f392fc9709a3 1358 #endif
AnnaBridge 189:f392fc9709a3 1359 #define __HAL_RCC_ADC1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_ADC1SMEN))
AnnaBridge 189:f392fc9709a3 1360 #define __HAL_RCC_SPI1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_SPI1SMEN))
AnnaBridge 189:f392fc9709a3 1361 #define __HAL_RCC_USART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_USART1SMEN))
AnnaBridge 189:f392fc9709a3 1362
AnnaBridge 189:f392fc9709a3 1363 #define __HAL_RCC_TIM21_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM21SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1364 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1365 #define __HAL_RCC_TIM22_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM22SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1366 #endif
AnnaBridge 189:f392fc9709a3 1367 #define __HAL_RCC_ADC1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_ADC1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1368 #define __HAL_RCC_SPI1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SPI1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1369 #define __HAL_RCC_USART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_USART1SMEN) != RESET)
AnnaBridge 189:f392fc9709a3 1370
AnnaBridge 189:f392fc9709a3 1371 #define __HAL_RCC_TIM21_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM21SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1372 #if !defined (STM32L011xx) && !defined (STM32L021xx)
AnnaBridge 189:f392fc9709a3 1373 #define __HAL_RCC_TIM22_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_TIM22SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1374 #endif
AnnaBridge 189:f392fc9709a3 1375 #define __HAL_RCC_ADC1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_ADC1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1376 #define __HAL_RCC_SPI1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_SPI1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1377 #define __HAL_RCC_USART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, (RCC_APB2SMENR_USART1SMEN) == RESET)
AnnaBridge 189:f392fc9709a3 1378
AnnaBridge 189:f392fc9709a3 1379 /**
AnnaBridge 189:f392fc9709a3 1380 * @}
AnnaBridge 189:f392fc9709a3 1381 */
AnnaBridge 189:f392fc9709a3 1382
AnnaBridge 189:f392fc9709a3 1383 #endif /* STM32L051xx || STM32L061xx || STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1384 /* STM32L052xx || STM32L062xx || STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1385 /* STM32L053xx || STM32L063xx || STM32L073xx || STM32L083xx || */
AnnaBridge 189:f392fc9709a3 1386 /* STM32L031xx || STM32L041xx || STM32L011xx || STM32L021xx */
AnnaBridge 189:f392fc9709a3 1387
AnnaBridge 189:f392fc9709a3 1388
AnnaBridge 189:f392fc9709a3 1389 /**
AnnaBridge 189:f392fc9709a3 1390 * @brief Enable interrupt on RCC LSE CSS EXTI Line 19.
AnnaBridge 189:f392fc9709a3 1391 * @retval None
AnnaBridge 189:f392fc9709a3 1392 */
AnnaBridge 189:f392fc9709a3 1393 #define __HAL_RCC_LSECSS_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1394
AnnaBridge 189:f392fc9709a3 1395 /**
AnnaBridge 189:f392fc9709a3 1396 * @brief Disable interrupt on RCC LSE CSS EXTI Line 19.
AnnaBridge 189:f392fc9709a3 1397 * @retval None
AnnaBridge 189:f392fc9709a3 1398 */
AnnaBridge 189:f392fc9709a3 1399 #define __HAL_RCC_LSECSS_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1400
AnnaBridge 189:f392fc9709a3 1401 /**
AnnaBridge 189:f392fc9709a3 1402 * @brief Enable event on RCC LSE CSS EXTI Line 19.
AnnaBridge 189:f392fc9709a3 1403 * @retval None.
AnnaBridge 189:f392fc9709a3 1404 */
AnnaBridge 189:f392fc9709a3 1405 #define __HAL_RCC_LSECSS_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1406
AnnaBridge 189:f392fc9709a3 1407 /**
AnnaBridge 189:f392fc9709a3 1408 * @brief Disable event on RCC LSE CSS EXTI Line 19.
AnnaBridge 189:f392fc9709a3 1409 * @retval None.
AnnaBridge 189:f392fc9709a3 1410 */
AnnaBridge 189:f392fc9709a3 1411 #define __HAL_RCC_LSECSS_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1412
AnnaBridge 189:f392fc9709a3 1413
AnnaBridge 189:f392fc9709a3 1414 /**
AnnaBridge 189:f392fc9709a3 1415 * @brief RCC LSE CSS EXTI line configuration: set falling edge trigger.
AnnaBridge 189:f392fc9709a3 1416 * @retval None.
AnnaBridge 189:f392fc9709a3 1417 */
AnnaBridge 189:f392fc9709a3 1418 #define __HAL_RCC_LSECSS_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1419
AnnaBridge 189:f392fc9709a3 1420
AnnaBridge 189:f392fc9709a3 1421 /**
AnnaBridge 189:f392fc9709a3 1422 * @brief Disable the RCC LSE CSS Extended Interrupt Falling Trigger.
AnnaBridge 189:f392fc9709a3 1423 * @retval None.
AnnaBridge 189:f392fc9709a3 1424 */
AnnaBridge 189:f392fc9709a3 1425 #define __HAL_RCC_LSECSS_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1426
AnnaBridge 189:f392fc9709a3 1427
AnnaBridge 189:f392fc9709a3 1428 /**
AnnaBridge 189:f392fc9709a3 1429 * @brief RCC LSE CSS EXTI line configuration: set rising edge trigger.
AnnaBridge 189:f392fc9709a3 1430 * @retval None.
AnnaBridge 189:f392fc9709a3 1431 */
AnnaBridge 189:f392fc9709a3 1432 #define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1433
AnnaBridge 189:f392fc9709a3 1434 /**
AnnaBridge 189:f392fc9709a3 1435 * @brief Disable the RCC LSE CSS Extended Interrupt Rising Trigger.
AnnaBridge 189:f392fc9709a3 1436 * @retval None.
AnnaBridge 189:f392fc9709a3 1437 */
AnnaBridge 189:f392fc9709a3 1438 #define __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1439
AnnaBridge 189:f392fc9709a3 1440 /**
AnnaBridge 189:f392fc9709a3 1441 * @brief RCC LSE CSS EXTI line configuration: set rising & falling edge trigger.
AnnaBridge 189:f392fc9709a3 1442 * @retval None.
AnnaBridge 189:f392fc9709a3 1443 */
AnnaBridge 189:f392fc9709a3 1444 #define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_FALLING_EDGE() \
AnnaBridge 189:f392fc9709a3 1445 do { \
AnnaBridge 189:f392fc9709a3 1446 __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE(); \
AnnaBridge 189:f392fc9709a3 1447 __HAL_RCC_LSECSS_EXTI_ENABLE_FALLING_EDGE(); \
AnnaBridge 189:f392fc9709a3 1448 } while(0)
AnnaBridge 189:f392fc9709a3 1449
AnnaBridge 189:f392fc9709a3 1450 /**
AnnaBridge 189:f392fc9709a3 1451 * @brief Disable the RCC LSE CSS Extended Interrupt Rising & Falling Trigger.
AnnaBridge 189:f392fc9709a3 1452 * @retval None.
AnnaBridge 189:f392fc9709a3 1453 */
AnnaBridge 189:f392fc9709a3 1454 #define __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_FALLING_EDGE() \
AnnaBridge 189:f392fc9709a3 1455 do { \
AnnaBridge 189:f392fc9709a3 1456 __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_EDGE(); \
AnnaBridge 189:f392fc9709a3 1457 __HAL_RCC_LSECSS_EXTI_DISABLE_FALLING_EDGE(); \
AnnaBridge 189:f392fc9709a3 1458 } while(0)
AnnaBridge 189:f392fc9709a3 1459
AnnaBridge 189:f392fc9709a3 1460 /**
AnnaBridge 189:f392fc9709a3 1461 * @brief Check whether the specified RCC LSE CSS EXTI interrupt flag is set or not.
AnnaBridge 189:f392fc9709a3 1462 * @retval EXTI RCC LSE CSS Line Status.
AnnaBridge 189:f392fc9709a3 1463 */
AnnaBridge 189:f392fc9709a3 1464 #define __HAL_RCC_LSECSS_EXTI_GET_FLAG() (EXTI->PR & (RCC_EXTI_LINE_LSECSS))
AnnaBridge 189:f392fc9709a3 1465
AnnaBridge 189:f392fc9709a3 1466 /**
AnnaBridge 189:f392fc9709a3 1467 * @brief Clear the RCC LSE CSS EXTI flag.
AnnaBridge 189:f392fc9709a3 1468 * @retval None.
AnnaBridge 189:f392fc9709a3 1469 */
AnnaBridge 189:f392fc9709a3 1470 #define __HAL_RCC_LSECSS_EXTI_CLEAR_FLAG() (EXTI->PR = (RCC_EXTI_LINE_LSECSS))
AnnaBridge 189:f392fc9709a3 1471
AnnaBridge 189:f392fc9709a3 1472 /**
AnnaBridge 189:f392fc9709a3 1473 * @brief Generate a Software interrupt on selected EXTI line.
AnnaBridge 189:f392fc9709a3 1474 * @retval None.
AnnaBridge 189:f392fc9709a3 1475 */
AnnaBridge 189:f392fc9709a3 1476 #define __HAL_RCC_LSECSS_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, RCC_EXTI_LINE_LSECSS)
AnnaBridge 189:f392fc9709a3 1477
AnnaBridge 189:f392fc9709a3 1478
AnnaBridge 189:f392fc9709a3 1479 #if defined(LCD)
AnnaBridge 189:f392fc9709a3 1480
AnnaBridge 189:f392fc9709a3 1481 /** @defgroup RCCEx_LCD_Configuration LCD Configuration
AnnaBridge 189:f392fc9709a3 1482 * @brief Macros to configure clock source of LCD peripherals.
AnnaBridge 189:f392fc9709a3 1483 * @{
AnnaBridge 189:f392fc9709a3 1484 */
AnnaBridge 189:f392fc9709a3 1485
AnnaBridge 189:f392fc9709a3 1486 /** @brief Macro to configures LCD clock (LCDCLK).
AnnaBridge 189:f392fc9709a3 1487 * @note LCD and RTC use the same configuration
AnnaBridge 189:f392fc9709a3 1488 * @note LCD can however be used in the Stop low power mode if the LSE or LSI is used as the
AnnaBridge 189:f392fc9709a3 1489 * LCD clock source.
AnnaBridge 189:f392fc9709a3 1490 *
AnnaBridge 189:f392fc9709a3 1491 * @param __LCD_CLKSOURCE__ specifies the LCD clock source.
AnnaBridge 189:f392fc9709a3 1492 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1493 * @arg @ref RCC_RTCCLKSOURCE_LSE LSE selected as LCD clock
AnnaBridge 189:f392fc9709a3 1494 * @arg @ref RCC_RTCCLKSOURCE_LSI LSI selected as LCD clock
AnnaBridge 189:f392fc9709a3 1495 * @arg @ref RCC_RTCCLKSOURCE_HSE_DIV2 HSE divided by 2 selected as LCD clock
AnnaBridge 189:f392fc9709a3 1496 * @arg @ref RCC_RTCCLKSOURCE_HSE_DIV4 HSE divided by 4 selected as LCD clock
AnnaBridge 189:f392fc9709a3 1497 * @arg @ref RCC_RTCCLKSOURCE_HSE_DIV8 HSE divided by 8 selected as LCD clock
AnnaBridge 189:f392fc9709a3 1498 * @arg @ref RCC_RTCCLKSOURCE_HSE_DIV16 HSE divided by 16 selected as LCD clock
AnnaBridge 189:f392fc9709a3 1499 */
AnnaBridge 189:f392fc9709a3 1500 #define __HAL_RCC_LCD_CONFIG(__LCD_CLKSOURCE__) __HAL_RCC_RTC_CONFIG(__LCD_CLKSOURCE__)
AnnaBridge 189:f392fc9709a3 1501
AnnaBridge 189:f392fc9709a3 1502 /** @brief Macro to get the LCD clock source.
AnnaBridge 189:f392fc9709a3 1503 */
AnnaBridge 189:f392fc9709a3 1504 #define __HAL_RCC_GET_LCD_SOURCE() __HAL_RCC_GET_RTC_SOURCE()
AnnaBridge 189:f392fc9709a3 1505
AnnaBridge 189:f392fc9709a3 1506 /** @brief Macro to get the LCD clock pre-scaler.
AnnaBridge 189:f392fc9709a3 1507 */
AnnaBridge 189:f392fc9709a3 1508 #define __HAL_RCC_GET_LCD_HSE_PRESCALER() __HAL_RCC_GET_RTC_HSE_PRESCALER()
AnnaBridge 189:f392fc9709a3 1509
AnnaBridge 189:f392fc9709a3 1510 /**
AnnaBridge 189:f392fc9709a3 1511 * @}
AnnaBridge 189:f392fc9709a3 1512 */
AnnaBridge 189:f392fc9709a3 1513
AnnaBridge 189:f392fc9709a3 1514 #endif /* LCD */
AnnaBridge 189:f392fc9709a3 1515
AnnaBridge 189:f392fc9709a3 1516 /** @brief Macro to configure the I2C1 clock (I2C1CLK).
AnnaBridge 189:f392fc9709a3 1517 *
AnnaBridge 189:f392fc9709a3 1518 * @param __I2C1_CLKSOURCE__ specifies the I2C1 clock source.
AnnaBridge 189:f392fc9709a3 1519 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1520 * @arg @ref RCC_I2C1CLKSOURCE_PCLK1 PCLK1 selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1521 * @arg @ref RCC_I2C1CLKSOURCE_HSI HSI selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1522 * @arg @ref RCC_I2C1CLKSOURCE_SYSCLK System Clock selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1523 */
AnnaBridge 189:f392fc9709a3 1524 #define __HAL_RCC_I2C1_CONFIG(__I2C1_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1525 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_I2C1SEL, (uint32_t)(__I2C1_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1526
AnnaBridge 189:f392fc9709a3 1527 /** @brief Macro to get the I2C1 clock source.
AnnaBridge 189:f392fc9709a3 1528 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1529 * @arg @ref RCC_I2C1CLKSOURCE_PCLK1 PCLK1 selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1530 * @arg @ref RCC_I2C1CLKSOURCE_HSI HSI selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1531 * @arg @ref RCC_I2C1CLKSOURCE_SYSCLK System Clock selected as I2C1 clock
AnnaBridge 189:f392fc9709a3 1532 */
AnnaBridge 189:f392fc9709a3 1533 #define __HAL_RCC_GET_I2C1_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_I2C1SEL)))
AnnaBridge 189:f392fc9709a3 1534
AnnaBridge 189:f392fc9709a3 1535 #if defined(RCC_CCIPR_I2C3SEL)
AnnaBridge 189:f392fc9709a3 1536 /** @brief Macro to configure the I2C3 clock (I2C3CLK).
AnnaBridge 189:f392fc9709a3 1537 *
AnnaBridge 189:f392fc9709a3 1538 * @param __I2C3_CLKSOURCE__ specifies the I2C3 clock source.
AnnaBridge 189:f392fc9709a3 1539 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1540 * @arg @ref RCC_I2C3CLKSOURCE_PCLK1 PCLK1 selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1541 * @arg @ref RCC_I2C3CLKSOURCE_HSI HSI selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1542 * @arg @ref RCC_I2C3CLKSOURCE_SYSCLK System Clock selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1543 */
AnnaBridge 189:f392fc9709a3 1544 #define __HAL_RCC_I2C3_CONFIG(__I2C3_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1545 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_I2C3SEL, (uint32_t)(__I2C3_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1546
AnnaBridge 189:f392fc9709a3 1547 /** @brief Macro to get the I2C3 clock source.
AnnaBridge 189:f392fc9709a3 1548 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1549 * @arg @ref RCC_I2C3CLKSOURCE_PCLK1 PCLK1 selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1550 * @arg @ref RCC_I2C3CLKSOURCE_HSI HSI selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1551 * @arg @ref RCC_I2C3CLKSOURCE_SYSCLK System Clock selected as I2C3 clock
AnnaBridge 189:f392fc9709a3 1552 */
AnnaBridge 189:f392fc9709a3 1553 #define __HAL_RCC_GET_I2C3_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_I2C3SEL)))
AnnaBridge 189:f392fc9709a3 1554
AnnaBridge 189:f392fc9709a3 1555 #endif /* RCC_CCIPR_I2C3SEL */
AnnaBridge 189:f392fc9709a3 1556
AnnaBridge 189:f392fc9709a3 1557 #if defined (RCC_CCIPR_USART1SEL)
AnnaBridge 189:f392fc9709a3 1558 /** @brief Macro to configure the USART1 clock (USART1CLK).
AnnaBridge 189:f392fc9709a3 1559 *
AnnaBridge 189:f392fc9709a3 1560 * @param __USART1_CLKSOURCE__ specifies the USART1 clock source.
AnnaBridge 189:f392fc9709a3 1561 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1562 * @arg @ref RCC_USART1CLKSOURCE_PCLK2 PCLK2 selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1563 * @arg @ref RCC_USART1CLKSOURCE_HSI HSI selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1564 * @arg @ref RCC_USART1CLKSOURCE_SYSCLK System Clock selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1565 * @arg @ref RCC_USART1CLKSOURCE_LSE LSE selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1566 */
AnnaBridge 189:f392fc9709a3 1567 #define __HAL_RCC_USART1_CONFIG(__USART1_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1568 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_USART1SEL, (uint32_t)(__USART1_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1569
AnnaBridge 189:f392fc9709a3 1570 /** @brief Macro to get the USART1 clock source.
AnnaBridge 189:f392fc9709a3 1571 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1572 * @arg @ref RCC_USART1CLKSOURCE_PCLK2 PCLK2 selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1573 * @arg @ref RCC_USART1CLKSOURCE_HSI HSI selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1574 * @arg @ref RCC_USART1CLKSOURCE_SYSCLK System Clock selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1575 * @arg @ref RCC_USART1CLKSOURCE_LSE LSE selected as USART1 clock
AnnaBridge 189:f392fc9709a3 1576 */
AnnaBridge 189:f392fc9709a3 1577 #define __HAL_RCC_GET_USART1_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_USART1SEL)))
AnnaBridge 189:f392fc9709a3 1578 #endif /* RCC_CCIPR_USART1SEL */
AnnaBridge 189:f392fc9709a3 1579
AnnaBridge 189:f392fc9709a3 1580 /** @brief Macro to configure the USART2 clock (USART2CLK).
AnnaBridge 189:f392fc9709a3 1581 *
AnnaBridge 189:f392fc9709a3 1582 * @param __USART2_CLKSOURCE__ specifies the USART2 clock source.
AnnaBridge 189:f392fc9709a3 1583 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1584 * @arg @ref RCC_USART2CLKSOURCE_PCLK1 PCLK1 selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1585 * @arg @ref RCC_USART2CLKSOURCE_HSI HSI selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1586 * @arg @ref RCC_USART2CLKSOURCE_SYSCLK System Clock selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1587 * @arg @ref RCC_USART2CLKSOURCE_LSE LSE selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1588 */
AnnaBridge 189:f392fc9709a3 1589 #define __HAL_RCC_USART2_CONFIG(__USART2_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1590 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_USART2SEL, (uint32_t)(__USART2_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1591
AnnaBridge 189:f392fc9709a3 1592 /** @brief Macro to get the USART2 clock source.
AnnaBridge 189:f392fc9709a3 1593 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1594 * @arg @ref RCC_USART2CLKSOURCE_PCLK1 PCLK1 selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1595 * @arg @ref RCC_USART2CLKSOURCE_HSI HSI selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1596 * @arg @ref RCC_USART2CLKSOURCE_SYSCLK System Clock selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1597 * @arg @ref RCC_USART2CLKSOURCE_LSE LSE selected as USART2 clock
AnnaBridge 189:f392fc9709a3 1598 */
AnnaBridge 189:f392fc9709a3 1599 #define __HAL_RCC_GET_USART2_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_USART2SEL)))
AnnaBridge 189:f392fc9709a3 1600
AnnaBridge 189:f392fc9709a3 1601 /** @brief Macro to configure the LPUART1 clock (LPUART1CLK).
AnnaBridge 189:f392fc9709a3 1602 *
AnnaBridge 189:f392fc9709a3 1603 * @param __LPUART1_CLKSOURCE__ specifies the LPUART1 clock source.
AnnaBridge 189:f392fc9709a3 1604 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1605 * @arg @ref RCC_LPUART1CLKSOURCE_PCLK1 PCLK1 selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1606 * @arg @ref RCC_LPUART1CLKSOURCE_HSI HSI selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1607 * @arg @ref RCC_LPUART1CLKSOURCE_SYSCLK System Clock selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1608 * @arg @ref RCC_LPUART1CLKSOURCE_LSE LSE selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1609 */
AnnaBridge 189:f392fc9709a3 1610 #define __HAL_RCC_LPUART1_CONFIG(__LPUART1_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1611 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_LPUART1SEL, (uint32_t)(__LPUART1_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1612
AnnaBridge 189:f392fc9709a3 1613 /** @brief Macro to get the LPUART1 clock source.
AnnaBridge 189:f392fc9709a3 1614 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1615 * @arg @ref RCC_LPUART1CLKSOURCE_PCLK1 PCLK1 selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1616 * @arg @ref RCC_LPUART1CLKSOURCE_HSI HSI selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1617 * @arg @ref RCC_LPUART1CLKSOURCE_SYSCLK System Clock selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1618 * @arg @ref RCC_LPUART1CLKSOURCE_LSE LSE selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1619 */
AnnaBridge 189:f392fc9709a3 1620 #define __HAL_RCC_GET_LPUART1_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_LPUART1SEL)))
AnnaBridge 189:f392fc9709a3 1621
AnnaBridge 189:f392fc9709a3 1622 /** @brief Macro to configure the LPTIM1 clock (LPTIM1CLK).
AnnaBridge 189:f392fc9709a3 1623 *
AnnaBridge 189:f392fc9709a3 1624 * @param __LPTIM1_CLKSOURCE__ specifies the LPTIM1 clock source.
AnnaBridge 189:f392fc9709a3 1625 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1626 * @arg @ref RCC_LPTIM1CLKSOURCE_PCLK PCLK selected as LPTIM1 clock
AnnaBridge 189:f392fc9709a3 1627 * @arg @ref RCC_LPTIM1CLKSOURCE_LSI HSI selected as LPTIM1 clock
AnnaBridge 189:f392fc9709a3 1628 * @arg @ref RCC_LPTIM1CLKSOURCE_HSI LSI selected as LPTIM1 clock
AnnaBridge 189:f392fc9709a3 1629 * @arg @ref RCC_LPTIM1CLKSOURCE_LSE LSE selected as LPTIM1 clock
AnnaBridge 189:f392fc9709a3 1630 */
AnnaBridge 189:f392fc9709a3 1631 #define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1632 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_LPTIM1SEL, (uint32_t)(__LPTIM1_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1633
AnnaBridge 189:f392fc9709a3 1634 /** @brief Macro to get the LPTIM1 clock source.
AnnaBridge 189:f392fc9709a3 1635 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1636 * @arg @ref RCC_LPTIM1CLKSOURCE_PCLK PCLK selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1637 * @arg @ref RCC_LPTIM1CLKSOURCE_LSI HSI selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1638 * @arg @ref RCC_LPTIM1CLKSOURCE_HSI System Clock selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1639 * @arg @ref RCC_LPTIM1CLKSOURCE_LSE LSE selected as LPUART1 clock
AnnaBridge 189:f392fc9709a3 1640 */
AnnaBridge 189:f392fc9709a3 1641 #define __HAL_RCC_GET_LPTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_LPTIM1SEL)))
AnnaBridge 189:f392fc9709a3 1642
AnnaBridge 189:f392fc9709a3 1643 #if defined(USB)
AnnaBridge 189:f392fc9709a3 1644 /** @brief Macro to configure the USB clock (USBCLK).
AnnaBridge 189:f392fc9709a3 1645 * @param __USB_CLKSOURCE__ specifies the USB clock source.
AnnaBridge 189:f392fc9709a3 1646 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1647 * @arg @ref RCC_USBCLKSOURCE_HSI48 HSI48 selected as USB clock
AnnaBridge 189:f392fc9709a3 1648 * @arg @ref RCC_USBCLKSOURCE_PLL PLL Clock selected as USB clock
AnnaBridge 189:f392fc9709a3 1649 */
AnnaBridge 189:f392fc9709a3 1650 #define __HAL_RCC_USB_CONFIG(__USB_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1651 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_HSI48SEL, (uint32_t)(__USB_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1652
AnnaBridge 189:f392fc9709a3 1653 /** @brief Macro to get the USB clock source.
AnnaBridge 189:f392fc9709a3 1654 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1655 * @arg @ref RCC_USBCLKSOURCE_HSI48 HSI48 selected as USB clock
AnnaBridge 189:f392fc9709a3 1656 * @arg @ref RCC_USBCLKSOURCE_PLL PLL Clock selected as USB clock
AnnaBridge 189:f392fc9709a3 1657 */
AnnaBridge 189:f392fc9709a3 1658 #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_HSI48SEL)))
AnnaBridge 189:f392fc9709a3 1659 #endif /* USB */
AnnaBridge 189:f392fc9709a3 1660
AnnaBridge 189:f392fc9709a3 1661 #if defined(RNG)
AnnaBridge 189:f392fc9709a3 1662 /** @brief Macro to configure the RNG clock (RNGCLK).
AnnaBridge 189:f392fc9709a3 1663 * @param __RNG_CLKSOURCE__ specifies the USB clock source.
AnnaBridge 189:f392fc9709a3 1664 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1665 * @arg @ref RCC_RNGCLKSOURCE_HSI48 HSI48 selected as RNG clock
AnnaBridge 189:f392fc9709a3 1666 * @arg @ref RCC_RNGCLKSOURCE_PLLCLK PLL Clock selected as RNG clock
AnnaBridge 189:f392fc9709a3 1667 */
AnnaBridge 189:f392fc9709a3 1668 #define __HAL_RCC_RNG_CONFIG(__RNG_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1669 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_HSI48SEL, (uint32_t)(__RNG_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1670
AnnaBridge 189:f392fc9709a3 1671 /** @brief Macro to get the RNG clock source.
AnnaBridge 189:f392fc9709a3 1672 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1673 * @arg @ref RCC_RNGCLKSOURCE_HSI48 HSI48 selected as RNG clock
AnnaBridge 189:f392fc9709a3 1674 * @arg @ref RCC_RNGCLKSOURCE_PLLCLK PLL Clock selected as RNG clock
AnnaBridge 189:f392fc9709a3 1675 */
AnnaBridge 189:f392fc9709a3 1676 #define __HAL_RCC_GET_RNG_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_HSI48SEL)))
AnnaBridge 189:f392fc9709a3 1677 #endif /* RNG */
AnnaBridge 189:f392fc9709a3 1678
AnnaBridge 189:f392fc9709a3 1679 #if defined(RCC_CCIPR_HSI48SEL)
AnnaBridge 189:f392fc9709a3 1680 /** @brief Macro to select the HSI48M clock source
AnnaBridge 189:f392fc9709a3 1681 * @note This macro can be replaced by either __HAL_RCC_RNG_CONFIG or
AnnaBridge 189:f392fc9709a3 1682 * __HAL_RCC_USB_CONFIG to configure respectively RNG or UBS clock sources.
AnnaBridge 189:f392fc9709a3 1683 *
AnnaBridge 189:f392fc9709a3 1684 * @param __HSI48M_CLKSOURCE__ specifies the HSI48M clock source dedicated for
AnnaBridge 189:f392fc9709a3 1685 * USB an RNG peripherals.
AnnaBridge 189:f392fc9709a3 1686 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1687 * @arg @ref RCC_HSI48M_PLL A dedicated 48MHZ PLL output.
AnnaBridge 189:f392fc9709a3 1688 * @arg @ref RCC_HSI48M_HSI48 48MHZ issued from internal HSI48 oscillator.
AnnaBridge 189:f392fc9709a3 1689 */
AnnaBridge 189:f392fc9709a3 1690 #define __HAL_RCC_HSI48M_CONFIG(__HSI48M_CLKSOURCE__) \
AnnaBridge 189:f392fc9709a3 1691 MODIFY_REG(RCC->CCIPR, RCC_CCIPR_HSI48SEL, (uint32_t)(__HSI48M_CLKSOURCE__))
AnnaBridge 189:f392fc9709a3 1692
AnnaBridge 189:f392fc9709a3 1693 /** @brief Macro to get the HSI48M clock source.
AnnaBridge 189:f392fc9709a3 1694 * @note This macro can be replaced by either __HAL_RCC_GET_RNG_SOURCE or
AnnaBridge 189:f392fc9709a3 1695 * __HAL_RCC_GET_USB_SOURCE to get respectively RNG or UBS clock sources.
AnnaBridge 189:f392fc9709a3 1696 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1697 * @arg @ref RCC_HSI48M_PLL A dedicated 48MHZ PLL output.
AnnaBridge 189:f392fc9709a3 1698 * @arg @ref RCC_HSI48M_HSI48 48MHZ issued from internal HSI48 oscillator.
AnnaBridge 189:f392fc9709a3 1699 */
AnnaBridge 189:f392fc9709a3 1700 #define __HAL_RCC_GET_HSI48M_SOURCE() ((uint32_t)(READ_BIT(RCC->CCIPR, RCC_CCIPR_HSI48SEL)))
AnnaBridge 189:f392fc9709a3 1701 #endif /* RCC_CCIPR_HSI48SEL */
AnnaBridge 189:f392fc9709a3 1702
AnnaBridge 189:f392fc9709a3 1703 /**
AnnaBridge 189:f392fc9709a3 1704 * @brief Macro to enable the force of the Internal High Speed oscillator (HSI)
AnnaBridge 189:f392fc9709a3 1705 * in STOP mode to be quickly available as kernel clock for USART and I2C.
AnnaBridge 189:f392fc9709a3 1706 * @note The Enable of this function has not effect on the HSION bit.
AnnaBridge 189:f392fc9709a3 1707 */
AnnaBridge 189:f392fc9709a3 1708 #define __HAL_RCC_HSISTOP_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSIKERON)
AnnaBridge 189:f392fc9709a3 1709
AnnaBridge 189:f392fc9709a3 1710 /**
AnnaBridge 189:f392fc9709a3 1711 * @brief Macro to disable the force of the Internal High Speed oscillator (HSI)
AnnaBridge 189:f392fc9709a3 1712 * in STOP mode to be quickly available as kernel clock for USART and I2C.
AnnaBridge 189:f392fc9709a3 1713 * @retval None
AnnaBridge 189:f392fc9709a3 1714 */
AnnaBridge 189:f392fc9709a3 1715 #define __HAL_RCC_HSISTOP_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSIKERON)
AnnaBridge 189:f392fc9709a3 1716
AnnaBridge 189:f392fc9709a3 1717 /**
AnnaBridge 189:f392fc9709a3 1718 * @brief Macro to configures the External Low Speed oscillator (LSE) drive capability.
AnnaBridge 189:f392fc9709a3 1719 * @param __RCC_LSEDRIVE__ specifies the new state of the LSE drive capability.
AnnaBridge 189:f392fc9709a3 1720 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1721 * @arg @ref RCC_LSEDRIVE_LOW LSE oscillator low drive capability.
AnnaBridge 189:f392fc9709a3 1722 * @arg @ref RCC_LSEDRIVE_MEDIUMLOW LSE oscillator medium low drive capability.
AnnaBridge 189:f392fc9709a3 1723 * @arg @ref RCC_LSEDRIVE_MEDIUMHIGH LSE oscillator medium high drive capability.
AnnaBridge 189:f392fc9709a3 1724 * @arg @ref RCC_LSEDRIVE_HIGH LSE oscillator high drive capability.
AnnaBridge 189:f392fc9709a3 1725 * @retval None
AnnaBridge 189:f392fc9709a3 1726 */
AnnaBridge 189:f392fc9709a3 1727 #define __HAL_RCC_LSEDRIVE_CONFIG(__RCC_LSEDRIVE__) (MODIFY_REG(RCC->CSR,\
AnnaBridge 189:f392fc9709a3 1728 RCC_CSR_LSEDRV, (uint32_t)(__RCC_LSEDRIVE__) ))
AnnaBridge 189:f392fc9709a3 1729
AnnaBridge 189:f392fc9709a3 1730 /**
AnnaBridge 189:f392fc9709a3 1731 * @brief Macro to configures the wake up from stop clock.
AnnaBridge 189:f392fc9709a3 1732 * @param __RCC_STOPWUCLK__ specifies the clock source used after wake up from stop
AnnaBridge 189:f392fc9709a3 1733 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1734 * @arg @ref RCC_STOP_WAKEUPCLOCK_MSI MSI selected as system clock source
AnnaBridge 189:f392fc9709a3 1735 * @arg @ref RCC_STOP_WAKEUPCLOCK_HSI HSI selected as system clock source
AnnaBridge 189:f392fc9709a3 1736 * @retval None
AnnaBridge 189:f392fc9709a3 1737 */
AnnaBridge 189:f392fc9709a3 1738 #define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__RCC_STOPWUCLK__) (MODIFY_REG(RCC->CFGR,\
AnnaBridge 189:f392fc9709a3 1739 RCC_CFGR_STOPWUCK, (uint32_t)(__RCC_STOPWUCLK__) ))
AnnaBridge 189:f392fc9709a3 1740
AnnaBridge 189:f392fc9709a3 1741 #if defined(CRS)
AnnaBridge 189:f392fc9709a3 1742 /**
AnnaBridge 189:f392fc9709a3 1743 * @brief Enables the specified CRS interrupts.
AnnaBridge 189:f392fc9709a3 1744 * @param __INTERRUPT__ specifies the CRS interrupt sources to be enabled.
AnnaBridge 189:f392fc9709a3 1745 * This parameter can be any combination of the following values:
AnnaBridge 189:f392fc9709a3 1746 * @arg @ref RCC_CRS_IT_SYNCOK
AnnaBridge 189:f392fc9709a3 1747 * @arg @ref RCC_CRS_IT_SYNCWARN
AnnaBridge 189:f392fc9709a3 1748 * @arg @ref RCC_CRS_IT_ERR
AnnaBridge 189:f392fc9709a3 1749 * @arg @ref RCC_CRS_IT_ESYNC
AnnaBridge 189:f392fc9709a3 1750 * @retval None
AnnaBridge 189:f392fc9709a3 1751 */
AnnaBridge 189:f392fc9709a3 1752 #define __HAL_RCC_CRS_ENABLE_IT(__INTERRUPT__) SET_BIT(CRS->CR, (__INTERRUPT__))
AnnaBridge 189:f392fc9709a3 1753
AnnaBridge 189:f392fc9709a3 1754 /**
AnnaBridge 189:f392fc9709a3 1755 * @brief Disables the specified CRS interrupts.
AnnaBridge 189:f392fc9709a3 1756 * @param __INTERRUPT__ specifies the CRS interrupt sources to be disabled.
AnnaBridge 189:f392fc9709a3 1757 * This parameter can be any combination of the following values:
AnnaBridge 189:f392fc9709a3 1758 * @arg @ref RCC_CRS_IT_SYNCOK
AnnaBridge 189:f392fc9709a3 1759 * @arg @ref RCC_CRS_IT_SYNCWARN
AnnaBridge 189:f392fc9709a3 1760 * @arg @ref RCC_CRS_IT_ERR
AnnaBridge 189:f392fc9709a3 1761 * @arg @ref RCC_CRS_IT_ESYNC
AnnaBridge 189:f392fc9709a3 1762 * @retval None
AnnaBridge 189:f392fc9709a3 1763 */
AnnaBridge 189:f392fc9709a3 1764 #define __HAL_RCC_CRS_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(CRS->CR,(__INTERRUPT__))
AnnaBridge 189:f392fc9709a3 1765
AnnaBridge 189:f392fc9709a3 1766 /** @brief Check the CRS interrupt has occurred or not.
AnnaBridge 189:f392fc9709a3 1767 * @param __INTERRUPT__ specifies the CRS interrupt source to check.
AnnaBridge 189:f392fc9709a3 1768 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1769 * @arg @ref RCC_CRS_IT_SYNCOK
AnnaBridge 189:f392fc9709a3 1770 * @arg @ref RCC_CRS_IT_SYNCWARN
AnnaBridge 189:f392fc9709a3 1771 * @arg @ref RCC_CRS_IT_ERR
AnnaBridge 189:f392fc9709a3 1772 * @arg @ref RCC_CRS_IT_ESYNC
AnnaBridge 189:f392fc9709a3 1773 * @retval The new state of __INTERRUPT__ (SET or RESET).
AnnaBridge 189:f392fc9709a3 1774 */
AnnaBridge 189:f392fc9709a3 1775 #define __HAL_RCC_CRS_GET_IT_SOURCE(__INTERRUPT__) ((CRS->CR & (__INTERRUPT__))? SET : RESET)
AnnaBridge 189:f392fc9709a3 1776
AnnaBridge 189:f392fc9709a3 1777 /** @brief Clear the CRS interrupt pending bits
AnnaBridge 189:f392fc9709a3 1778 * bits to clear the selected interrupt pending bits.
AnnaBridge 189:f392fc9709a3 1779 * @param __INTERRUPT__ specifies the interrupt pending bit to clear.
AnnaBridge 189:f392fc9709a3 1780 * This parameter can be any combination of the following values:
AnnaBridge 189:f392fc9709a3 1781 * @arg @ref RCC_CRS_IT_SYNCOK
AnnaBridge 189:f392fc9709a3 1782 * @arg @ref RCC_CRS_IT_SYNCWARN
AnnaBridge 189:f392fc9709a3 1783 * @arg @ref RCC_CRS_IT_ERR
AnnaBridge 189:f392fc9709a3 1784 * @arg @ref RCC_CRS_IT_ESYNC
AnnaBridge 189:f392fc9709a3 1785 * @arg @ref RCC_CRS_IT_TRIMOVF
AnnaBridge 189:f392fc9709a3 1786 * @arg @ref RCC_CRS_IT_SYNCERR
AnnaBridge 189:f392fc9709a3 1787 * @arg @ref RCC_CRS_IT_SYNCMISS
AnnaBridge 189:f392fc9709a3 1788 */
AnnaBridge 189:f392fc9709a3 1789 #define __HAL_RCC_CRS_CLEAR_IT(__INTERRUPT__) do { \
AnnaBridge 189:f392fc9709a3 1790 if(((__INTERRUPT__) & RCC_CRS_IT_ERROR_MASK) != RESET) \
AnnaBridge 189:f392fc9709a3 1791 { \
AnnaBridge 189:f392fc9709a3 1792 WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__INTERRUPT__) & ~RCC_CRS_IT_ERROR_MASK)); \
AnnaBridge 189:f392fc9709a3 1793 } \
AnnaBridge 189:f392fc9709a3 1794 else \
AnnaBridge 189:f392fc9709a3 1795 { \
AnnaBridge 189:f392fc9709a3 1796 WRITE_REG(CRS->ICR, (__INTERRUPT__)); \
AnnaBridge 189:f392fc9709a3 1797 } \
AnnaBridge 189:f392fc9709a3 1798 } while(0)
AnnaBridge 189:f392fc9709a3 1799
AnnaBridge 189:f392fc9709a3 1800 /**
AnnaBridge 189:f392fc9709a3 1801 * @brief Checks whether the specified CRS flag is set or not.
AnnaBridge 189:f392fc9709a3 1802 * @param __FLAG__ specifies the flag to check.
AnnaBridge 189:f392fc9709a3 1803 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1804 * @arg @ref RCC_CRS_FLAG_SYNCOK
AnnaBridge 189:f392fc9709a3 1805 * @arg @ref RCC_CRS_FLAG_SYNCWARN
AnnaBridge 189:f392fc9709a3 1806 * @arg @ref RCC_CRS_FLAG_ERR
AnnaBridge 189:f392fc9709a3 1807 * @arg @ref RCC_CRS_FLAG_ESYNC
AnnaBridge 189:f392fc9709a3 1808 * @arg @ref RCC_CRS_FLAG_TRIMOVF
AnnaBridge 189:f392fc9709a3 1809 * @arg @ref RCC_CRS_FLAG_SYNCERR
AnnaBridge 189:f392fc9709a3 1810 * @arg @ref RCC_CRS_FLAG_SYNCMISS
AnnaBridge 189:f392fc9709a3 1811 * @retval The new state of __FLAG__ (TRUE or FALSE).
AnnaBridge 189:f392fc9709a3 1812 */
AnnaBridge 189:f392fc9709a3 1813 #define __HAL_RCC_CRS_GET_FLAG(__FLAG__) ((CRS->ISR & (__FLAG__)) == (__FLAG__))
AnnaBridge 189:f392fc9709a3 1814
AnnaBridge 189:f392fc9709a3 1815 /**
AnnaBridge 189:f392fc9709a3 1816 * @brief Clears the CRS specified FLAG.
AnnaBridge 189:f392fc9709a3 1817 * @param __FLAG__ specifies the flag to clear.
AnnaBridge 189:f392fc9709a3 1818 * This parameter can be one of the following values:
AnnaBridge 189:f392fc9709a3 1819 * @arg @ref RCC_CRS_FLAG_SYNCOK
AnnaBridge 189:f392fc9709a3 1820 * @arg @ref RCC_CRS_FLAG_SYNCWARN
AnnaBridge 189:f392fc9709a3 1821 * @arg @ref RCC_CRS_FLAG_ERR
AnnaBridge 189:f392fc9709a3 1822 * @arg @ref RCC_CRS_FLAG_ESYNC
AnnaBridge 189:f392fc9709a3 1823 * @arg @ref RCC_CRS_FLAG_TRIMOVF
AnnaBridge 189:f392fc9709a3 1824 * @arg @ref RCC_CRS_FLAG_SYNCERR
AnnaBridge 189:f392fc9709a3 1825 * @arg @ref RCC_CRS_FLAG_SYNCMISS
AnnaBridge 189:f392fc9709a3 1826 * @retval None
AnnaBridge 189:f392fc9709a3 1827 */
AnnaBridge 189:f392fc9709a3 1828 #define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__) do { \
AnnaBridge 189:f392fc9709a3 1829 if(((__FLAG__) & RCC_CRS_FLAG_ERROR_MASK) != RESET) \
AnnaBridge 189:f392fc9709a3 1830 { \
AnnaBridge 189:f392fc9709a3 1831 WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__FLAG__) & ~RCC_CRS_FLAG_ERROR_MASK)); \
AnnaBridge 189:f392fc9709a3 1832 } \
AnnaBridge 189:f392fc9709a3 1833 else \
AnnaBridge 189:f392fc9709a3 1834 { \
AnnaBridge 189:f392fc9709a3 1835 WRITE_REG(CRS->ICR, (__FLAG__)); \
AnnaBridge 189:f392fc9709a3 1836 } \
AnnaBridge 189:f392fc9709a3 1837 } while(0)
AnnaBridge 189:f392fc9709a3 1838
AnnaBridge 189:f392fc9709a3 1839 /**
AnnaBridge 189:f392fc9709a3 1840 * @brief Enables the oscillator clock for frequency error counter.
AnnaBridge 189:f392fc9709a3 1841 * @note when the CEN bit is set the CRS_CFGR register becomes write-protected.
AnnaBridge 189:f392fc9709a3 1842 * @retval None
AnnaBridge 189:f392fc9709a3 1843 */
AnnaBridge 189:f392fc9709a3 1844 #define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_ENABLE() SET_BIT(CRS->CR, CRS_CR_CEN)
AnnaBridge 189:f392fc9709a3 1845
AnnaBridge 189:f392fc9709a3 1846 /**
AnnaBridge 189:f392fc9709a3 1847 * @brief Disables the oscillator clock for frequency error counter.
AnnaBridge 189:f392fc9709a3 1848 * @retval None
AnnaBridge 189:f392fc9709a3 1849 */
AnnaBridge 189:f392fc9709a3 1850 #define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_CEN)
AnnaBridge 189:f392fc9709a3 1851
AnnaBridge 189:f392fc9709a3 1852 /**
AnnaBridge 189:f392fc9709a3 1853 * @brief Enables the automatic hardware adjustment of TRIM bits.
AnnaBridge 189:f392fc9709a3 1854 * @note When the AUTOTRIMEN bit is set the CRS_CFGR register becomes write-protected.
AnnaBridge 189:f392fc9709a3 1855 * @retval None
AnnaBridge 189:f392fc9709a3 1856 */
AnnaBridge 189:f392fc9709a3 1857 #define __HAL_RCC_CRS_AUTOMATIC_CALIB_ENABLE() SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN)
AnnaBridge 189:f392fc9709a3 1858
AnnaBridge 189:f392fc9709a3 1859 /**
AnnaBridge 189:f392fc9709a3 1860 * @brief Enables or disables the automatic hardware adjustment of TRIM bits.
AnnaBridge 189:f392fc9709a3 1861 * @retval None
AnnaBridge 189:f392fc9709a3 1862 */
AnnaBridge 189:f392fc9709a3 1863 #define __HAL_RCC_CRS_AUTOMATIC_CALIB_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_AUTOTRIMEN)
AnnaBridge 189:f392fc9709a3 1864
AnnaBridge 189:f392fc9709a3 1865 /**
AnnaBridge 189:f392fc9709a3 1866 * @brief Macro to calculate reload value to be set in CRS register according to target and sync frequencies
AnnaBridge 189:f392fc9709a3 1867 * @note The RELOAD value should be selected according to the ratio between the target frequency and the frequency
AnnaBridge 189:f392fc9709a3 1868 * of the synchronization source after prescaling. It is then decreased by one in order to
AnnaBridge 189:f392fc9709a3 1869 * reach the expected synchronization on the zero value. The formula is the following:
AnnaBridge 189:f392fc9709a3 1870 * RELOAD = (fTARGET / fSYNC) -1
AnnaBridge 189:f392fc9709a3 1871 * @param __FTARGET__ Target frequency (value in Hz)
AnnaBridge 189:f392fc9709a3 1872 * @param __FSYNC__ Synchronization signal frequency (value in Hz)
AnnaBridge 189:f392fc9709a3 1873 * @retval None
AnnaBridge 189:f392fc9709a3 1874 */
AnnaBridge 189:f392fc9709a3 1875 #define __HAL_RCC_CRS_RELOADVALUE_CALCULATE(__FTARGET__, __FSYNC__) (((__FTARGET__) / (__FSYNC__)) - 1)
AnnaBridge 189:f392fc9709a3 1876
AnnaBridge 189:f392fc9709a3 1877 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 1878
AnnaBridge 189:f392fc9709a3 1879
AnnaBridge 189:f392fc9709a3 1880 #if defined(RCC_CR_HSIOUTEN)
AnnaBridge 189:f392fc9709a3 1881 /** @brief Enable he HSI OUT .
AnnaBridge 189:f392fc9709a3 1882 * @note After reset, the HSI output is not available
AnnaBridge 189:f392fc9709a3 1883 */
AnnaBridge 189:f392fc9709a3 1884
AnnaBridge 189:f392fc9709a3 1885 #define __HAL_RCC_HSI_OUT_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSIOUTEN)
AnnaBridge 189:f392fc9709a3 1886
AnnaBridge 189:f392fc9709a3 1887 /** @brief Disable the HSI OUT .
AnnaBridge 189:f392fc9709a3 1888 * @note After reset, the HSI output is not available
AnnaBridge 189:f392fc9709a3 1889 */
AnnaBridge 189:f392fc9709a3 1890
AnnaBridge 189:f392fc9709a3 1891 #define __HAL_RCC_HSI_OUT_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSIOUTEN)
AnnaBridge 189:f392fc9709a3 1892
AnnaBridge 189:f392fc9709a3 1893 #endif /* RCC_CR_HSIOUTEN */
AnnaBridge 189:f392fc9709a3 1894
AnnaBridge 189:f392fc9709a3 1895 #if defined(STM32L053xx) || defined(STM32L063xx) || defined(STM32L073xx) || defined(STM32L083xx)\
AnnaBridge 189:f392fc9709a3 1896 || defined(STM32L052xx) || defined(STM32L062xx) || defined(STM32L072xx) || defined(STM32L082xx)
AnnaBridge 189:f392fc9709a3 1897
AnnaBridge 189:f392fc9709a3 1898 /**
AnnaBridge 189:f392fc9709a3 1899 * @brief Enable the Internal High Speed oscillator for USB (HSI48).
AnnaBridge 189:f392fc9709a3 1900 * @note After enabling the HSI48, the application software should wait on
AnnaBridge 189:f392fc9709a3 1901 * HSI48RDY flag to be set indicating that HSI48 clock is stable and can
AnnaBridge 189:f392fc9709a3 1902 * be used to clock the USB.
AnnaBridge 189:f392fc9709a3 1903 * @note The HSI48 is stopped by hardware when entering STOP and STANDBY modes.
AnnaBridge 189:f392fc9709a3 1904 */
AnnaBridge 189:f392fc9709a3 1905 #define __HAL_RCC_HSI48_ENABLE() do { SET_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON); \
AnnaBridge 189:f392fc9709a3 1906 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN); \
AnnaBridge 189:f392fc9709a3 1907 SET_BIT(SYSCFG->CFGR3, SYSCFG_CFGR3_ENREF_HSI48); \
AnnaBridge 189:f392fc9709a3 1908 } while (0)
AnnaBridge 189:f392fc9709a3 1909 /**
AnnaBridge 189:f392fc9709a3 1910 * @brief Disable the Internal High Speed oscillator for USB (HSI48).
AnnaBridge 189:f392fc9709a3 1911 */
AnnaBridge 189:f392fc9709a3 1912 #define __HAL_RCC_HSI48_DISABLE() do { CLEAR_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON); \
AnnaBridge 189:f392fc9709a3 1913 CLEAR_BIT(SYSCFG->CFGR3, SYSCFG_CFGR3_ENREF_HSI48); \
AnnaBridge 189:f392fc9709a3 1914 } while (0)
AnnaBridge 189:f392fc9709a3 1915
AnnaBridge 189:f392fc9709a3 1916 /** @brief Macro to get the Internal 48Mhz High Speed oscillator (HSI48) state.
AnnaBridge 189:f392fc9709a3 1917 * @retval The clock source can be one of the following values:
AnnaBridge 189:f392fc9709a3 1918 * @arg @ref RCC_HSI48_ON HSI48 enabled
AnnaBridge 189:f392fc9709a3 1919 * @arg @ref RCC_HSI48_OFF HSI48 disabled
AnnaBridge 189:f392fc9709a3 1920 */
AnnaBridge 189:f392fc9709a3 1921 #define __HAL_RCC_GET_HSI48_STATE() \
AnnaBridge 189:f392fc9709a3 1922 (((uint32_t)(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON)) != RESET) ? RCC_HSI48_ON : RCC_HSI48_OFF)
AnnaBridge 189:f392fc9709a3 1923
AnnaBridge 189:f392fc9709a3 1924 /** @brief Enable or disable the HSI48M DIV6 OUT .
AnnaBridge 189:f392fc9709a3 1925 * @note After reset, the HSI48Mhz (divided by 6) output is not available
AnnaBridge 189:f392fc9709a3 1926 */
AnnaBridge 189:f392fc9709a3 1927
AnnaBridge 189:f392fc9709a3 1928 #define __HAL_RCC_HSI48M_DIV6_OUT_ENABLE() SET_BIT(RCC->CR, RCC_CRRCR_HSI48DIV6OUTEN)
AnnaBridge 189:f392fc9709a3 1929 #define __HAL_RCC_HSI48M_DIV6_OUT_DISABLE() CLEAR_BIT(RCC->CR, RCC_CRRCR_HSI48DIV6OUTEN)
AnnaBridge 189:f392fc9709a3 1930
AnnaBridge 189:f392fc9709a3 1931 #endif /* STM32L071xx || STM32L081xx || */
AnnaBridge 189:f392fc9709a3 1932 /* STM32L072xx || STM32L082xx || */
AnnaBridge 189:f392fc9709a3 1933 /* STM32L073xx || STM32L083xx */
AnnaBridge 189:f392fc9709a3 1934
AnnaBridge 189:f392fc9709a3 1935
AnnaBridge 189:f392fc9709a3 1936 /**
AnnaBridge 189:f392fc9709a3 1937 * @}
AnnaBridge 189:f392fc9709a3 1938 */
AnnaBridge 189:f392fc9709a3 1939
AnnaBridge 189:f392fc9709a3 1940 /* Exported functions --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 1941 /** @addtogroup RCCEx_Exported_Functions
AnnaBridge 189:f392fc9709a3 1942 * @{
AnnaBridge 189:f392fc9709a3 1943 */
AnnaBridge 189:f392fc9709a3 1944
AnnaBridge 189:f392fc9709a3 1945 /** @addtogroup RCCEx_Exported_Functions_Group1
AnnaBridge 189:f392fc9709a3 1946 * @{
AnnaBridge 189:f392fc9709a3 1947 */
AnnaBridge 189:f392fc9709a3 1948
AnnaBridge 189:f392fc9709a3 1949 HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit);
AnnaBridge 189:f392fc9709a3 1950 void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit);
AnnaBridge 189:f392fc9709a3 1951 uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk);
AnnaBridge 189:f392fc9709a3 1952
AnnaBridge 189:f392fc9709a3 1953
AnnaBridge 189:f392fc9709a3 1954 void HAL_RCCEx_EnableLSECSS(void);
AnnaBridge 189:f392fc9709a3 1955 void HAL_RCCEx_DisableLSECSS(void);
AnnaBridge 189:f392fc9709a3 1956 void HAL_RCCEx_EnableLSECSS_IT(void);
AnnaBridge 189:f392fc9709a3 1957 void HAL_RCCEx_LSECSS_IRQHandler(void);
AnnaBridge 189:f392fc9709a3 1958 void HAL_RCCEx_LSECSS_Callback(void);
AnnaBridge 189:f392fc9709a3 1959
AnnaBridge 189:f392fc9709a3 1960
AnnaBridge 189:f392fc9709a3 1961 #if defined(SYSCFG_CFGR3_ENREF_HSI48)
AnnaBridge 189:f392fc9709a3 1962 void HAL_RCCEx_EnableHSI48_VREFINT(void);
AnnaBridge 189:f392fc9709a3 1963 void HAL_RCCEx_DisableHSI48_VREFINT(void);
AnnaBridge 189:f392fc9709a3 1964 #endif /* SYSCFG_CFGR3_ENREF_HSI48 */
AnnaBridge 189:f392fc9709a3 1965
AnnaBridge 189:f392fc9709a3 1966 /**
AnnaBridge 189:f392fc9709a3 1967 * @}
AnnaBridge 189:f392fc9709a3 1968 */
AnnaBridge 189:f392fc9709a3 1969
AnnaBridge 189:f392fc9709a3 1970 #if defined(CRS)
AnnaBridge 189:f392fc9709a3 1971
AnnaBridge 189:f392fc9709a3 1972 /** @addtogroup RCCEx_Exported_Functions_Group3
AnnaBridge 189:f392fc9709a3 1973 * @{
AnnaBridge 189:f392fc9709a3 1974 */
AnnaBridge 189:f392fc9709a3 1975
AnnaBridge 189:f392fc9709a3 1976 void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit);
AnnaBridge 189:f392fc9709a3 1977 void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void);
AnnaBridge 189:f392fc9709a3 1978 void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo);
AnnaBridge 189:f392fc9709a3 1979 uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout);
AnnaBridge 189:f392fc9709a3 1980 void HAL_RCCEx_CRS_IRQHandler(void);
AnnaBridge 189:f392fc9709a3 1981 void HAL_RCCEx_CRS_SyncOkCallback(void);
AnnaBridge 189:f392fc9709a3 1982 void HAL_RCCEx_CRS_SyncWarnCallback(void);
AnnaBridge 189:f392fc9709a3 1983 void HAL_RCCEx_CRS_ExpectedSyncCallback(void);
AnnaBridge 189:f392fc9709a3 1984 void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error);
AnnaBridge 189:f392fc9709a3 1985
AnnaBridge 189:f392fc9709a3 1986 /**
AnnaBridge 189:f392fc9709a3 1987 * @}
AnnaBridge 189:f392fc9709a3 1988 */
AnnaBridge 189:f392fc9709a3 1989
AnnaBridge 189:f392fc9709a3 1990 #endif /* CRS */
AnnaBridge 189:f392fc9709a3 1991
AnnaBridge 189:f392fc9709a3 1992 /**
AnnaBridge 189:f392fc9709a3 1993 * @}
AnnaBridge 189:f392fc9709a3 1994 */
AnnaBridge 189:f392fc9709a3 1995
AnnaBridge 189:f392fc9709a3 1996 /**
AnnaBridge 189:f392fc9709a3 1997 * @}
AnnaBridge 189:f392fc9709a3 1998 */
AnnaBridge 189:f392fc9709a3 1999
AnnaBridge 189:f392fc9709a3 2000 /**
AnnaBridge 189:f392fc9709a3 2001 * @}
AnnaBridge 189:f392fc9709a3 2002 */
AnnaBridge 189:f392fc9709a3 2003
AnnaBridge 189:f392fc9709a3 2004 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 2005 }
AnnaBridge 189:f392fc9709a3 2006 #endif
AnnaBridge 189:f392fc9709a3 2007
AnnaBridge 189:f392fc9709a3 2008 #endif /* __STM32L0xx_HAL_RCC_EX_H */
AnnaBridge 189:f392fc9709a3 2009
AnnaBridge 189:f392fc9709a3 2010 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
AnnaBridge 189:f392fc9709a3 2011