STM32F439xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32f4xx_ll_bus.h 00004 * @author MCD Application Team 00005 * @brief Header file of BUS LL module. 00006 00007 @verbatim 00008 ##### RCC Limitations ##### 00009 ============================================================================== 00010 [..] 00011 A delay between an RCC peripheral clock enable and the effective peripheral 00012 enabling should be taken into account in order to manage the peripheral read/write 00013 from/to registers. 00014 (+) This delay depends on the peripheral mapping. 00015 (++) AHB & APB peripherals, 1 dummy read is necessary 00016 00017 [..] 00018 Workarounds: 00019 (#) For AHB & APB peripherals, a dummy read to the peripheral register has been 00020 inserted in each LL_{BUS}_GRP{x}_EnableClock() function. 00021 00022 @endverbatim 00023 ****************************************************************************** 00024 * @attention 00025 * 00026 * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> 00027 * 00028 * Redistribution and use in source and binary forms, with or without modification, 00029 * are permitted provided that the following conditions are met: 00030 * 1. Redistributions of source code must retain the above copyright notice, 00031 * this list of conditions and the following disclaimer. 00032 * 2. Redistributions in binary form must reproduce the above copyright notice, 00033 * this list of conditions and the following disclaimer in the documentation 00034 * and/or other materials provided with the distribution. 00035 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00036 * may be used to endorse or promote products derived from this software 00037 * without specific prior written permission. 00038 * 00039 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00040 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00041 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00042 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00043 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00044 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00045 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00046 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00047 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00048 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00049 * 00050 ****************************************************************************** 00051 */ 00052 00053 /* Define to prevent recursive inclusion -------------------------------------*/ 00054 #ifndef __STM32F4xx_LL_BUS_H 00055 #define __STM32F4xx_LL_BUS_H 00056 00057 #ifdef __cplusplus 00058 extern "C" { 00059 #endif 00060 00061 /* Includes ------------------------------------------------------------------*/ 00062 #include "stm32f4xx.h" 00063 00064 /** @addtogroup STM32F4xx_LL_Driver 00065 * @{ 00066 */ 00067 00068 #if defined(RCC) 00069 00070 /** @defgroup BUS_LL BUS 00071 * @{ 00072 */ 00073 00074 /* Private types -------------------------------------------------------------*/ 00075 /* Private variables ---------------------------------------------------------*/ 00076 /* Private constants ---------------------------------------------------------*/ 00077 /* Private macros ------------------------------------------------------------*/ 00078 /* Exported types ------------------------------------------------------------*/ 00079 /* Exported constants --------------------------------------------------------*/ 00080 /** @defgroup BUS_LL_Exported_Constants BUS Exported Constants 00081 * @{ 00082 */ 00083 00084 /** @defgroup BUS_LL_EC_AHB1_GRP1_PERIPH AHB1 GRP1 PERIPH 00085 * @{ 00086 */ 00087 #define LL_AHB1_GRP1_PERIPH_ALL 0xFFFFFFFFU 00088 #define LL_AHB1_GRP1_PERIPH_GPIOA RCC_AHB1ENR_GPIOAEN 00089 #define LL_AHB1_GRP1_PERIPH_GPIOB RCC_AHB1ENR_GPIOBEN 00090 #define LL_AHB1_GRP1_PERIPH_GPIOC RCC_AHB1ENR_GPIOCEN 00091 #if defined(GPIOD) 00092 #define LL_AHB1_GRP1_PERIPH_GPIOD RCC_AHB1ENR_GPIODEN 00093 #endif /* GPIOD */ 00094 #if defined(GPIOE) 00095 #define LL_AHB1_GRP1_PERIPH_GPIOE RCC_AHB1ENR_GPIOEEN 00096 #endif /* GPIOE */ 00097 #if defined(GPIOF) 00098 #define LL_AHB1_GRP1_PERIPH_GPIOF RCC_AHB1ENR_GPIOFEN 00099 #endif /* GPIOF */ 00100 #if defined(GPIOG) 00101 #define LL_AHB1_GRP1_PERIPH_GPIOG RCC_AHB1ENR_GPIOGEN 00102 #endif /* GPIOG */ 00103 #if defined(GPIOH) 00104 #define LL_AHB1_GRP1_PERIPH_GPIOH RCC_AHB1ENR_GPIOHEN 00105 #endif /* GPIOH */ 00106 #if defined(GPIOI) 00107 #define LL_AHB1_GRP1_PERIPH_GPIOI RCC_AHB1ENR_GPIOIEN 00108 #endif /* GPIOI */ 00109 #if defined(GPIOJ) 00110 #define LL_AHB1_GRP1_PERIPH_GPIOJ RCC_AHB1ENR_GPIOJEN 00111 #endif /* GPIOJ */ 00112 #if defined(GPIOK) 00113 #define LL_AHB1_GRP1_PERIPH_GPIOK RCC_AHB1ENR_GPIOKEN 00114 #endif /* GPIOK */ 00115 #define LL_AHB1_GRP1_PERIPH_CRC RCC_AHB1ENR_CRCEN 00116 #if defined(RCC_AHB1ENR_BKPSRAMEN) 00117 #define LL_AHB1_GRP1_PERIPH_BKPSRAM RCC_AHB1ENR_BKPSRAMEN 00118 #endif /* RCC_AHB1ENR_BKPSRAMEN */ 00119 #if defined(RCC_AHB1ENR_CCMDATARAMEN) 00120 #define LL_AHB1_GRP1_PERIPH_CCMDATARAM RCC_AHB1ENR_CCMDATARAMEN 00121 #endif /* RCC_AHB1ENR_CCMDATARAMEN */ 00122 #define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN 00123 #define LL_AHB1_GRP1_PERIPH_DMA2 RCC_AHB1ENR_DMA2EN 00124 #if defined(RCC_AHB1ENR_RNGEN) 00125 #define LL_AHB1_GRP1_PERIPH_RNG RCC_AHB1ENR_RNGEN 00126 #endif /* RCC_AHB1ENR_RNGEN */ 00127 #if defined(DMA2D) 00128 #define LL_AHB1_GRP1_PERIPH_DMA2D RCC_AHB1ENR_DMA2DEN 00129 #endif /* DMA2D */ 00130 #if defined(ETH) 00131 #define LL_AHB1_GRP1_PERIPH_ETHMAC RCC_AHB1ENR_ETHMACEN 00132 #define LL_AHB1_GRP1_PERIPH_ETHMACTX RCC_AHB1ENR_ETHMACTXEN 00133 #define LL_AHB1_GRP1_PERIPH_ETHMACRX RCC_AHB1ENR_ETHMACRXEN 00134 #define LL_AHB1_GRP1_PERIPH_ETHMACPTP RCC_AHB1ENR_ETHMACPTPEN 00135 #endif /* ETH */ 00136 #if defined(USB_OTG_HS) 00137 #define LL_AHB1_GRP1_PERIPH_OTGHS RCC_AHB1ENR_OTGHSEN 00138 #define LL_AHB1_GRP1_PERIPH_OTGHSULPI RCC_AHB1ENR_OTGHSULPIEN 00139 #endif /* USB_OTG_HS */ 00140 #define LL_AHB1_GRP1_PERIPH_FLITF RCC_AHB1LPENR_FLITFLPEN 00141 #define LL_AHB1_GRP1_PERIPH_SRAM1 RCC_AHB1LPENR_SRAM1LPEN 00142 #if defined(RCC_AHB1LPENR_SRAM2LPEN) 00143 #define LL_AHB1_GRP1_PERIPH_SRAM2 RCC_AHB1LPENR_SRAM2LPEN 00144 #endif /* RCC_AHB1LPENR_SRAM2LPEN */ 00145 #if defined(RCC_AHB1LPENR_SRAM3LPEN) 00146 #define LL_AHB1_GRP1_PERIPH_SRAM3 RCC_AHB1LPENR_SRAM3LPEN 00147 #endif /* RCC_AHB1LPENR_SRAM3LPEN */ 00148 /** 00149 * @} 00150 */ 00151 00152 #if defined(RCC_AHB2_SUPPORT) 00153 /** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH 00154 * @{ 00155 */ 00156 #define LL_AHB2_GRP1_PERIPH_ALL 0xFFFFFFFFU 00157 #if defined(DCMI) 00158 #define LL_AHB2_GRP1_PERIPH_DCMI RCC_AHB2ENR_DCMIEN 00159 #endif /* DCMI */ 00160 #if defined(CRYP) 00161 #define LL_AHB2_GRP1_PERIPH_CRYP RCC_AHB2ENR_CRYPEN 00162 #endif /* CRYP */ 00163 #if defined(AES) 00164 #define LL_AHB2_GRP1_PERIPH_AES RCC_AHB2ENR_AESEN 00165 #endif /* AES */ 00166 #if defined(HASH) 00167 #define LL_AHB2_GRP1_PERIPH_HASH RCC_AHB2ENR_HASHEN 00168 #endif /* HASH */ 00169 #if defined(RCC_AHB2ENR_RNGEN) 00170 #define LL_AHB2_GRP1_PERIPH_RNG RCC_AHB2ENR_RNGEN 00171 #endif /* RCC_AHB2ENR_RNGEN */ 00172 #if defined(USB_OTG_FS) 00173 #define LL_AHB2_GRP1_PERIPH_OTGFS RCC_AHB2ENR_OTGFSEN 00174 #endif /* USB_OTG_FS */ 00175 /** 00176 * @} 00177 */ 00178 #endif /* RCC_AHB2_SUPPORT */ 00179 00180 #if defined(RCC_AHB3_SUPPORT) 00181 /** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH AHB3 GRP1 PERIPH 00182 * @{ 00183 */ 00184 #define LL_AHB3_GRP1_PERIPH_ALL 0xFFFFFFFFU 00185 #if defined(FSMC_Bank1) 00186 #define LL_AHB3_GRP1_PERIPH_FSMC RCC_AHB3ENR_FSMCEN 00187 #endif /* FSMC_Bank1 */ 00188 #if defined(FMC_Bank1) 00189 #define LL_AHB3_GRP1_PERIPH_FMC RCC_AHB3ENR_FMCEN 00190 #endif /* FMC_Bank1 */ 00191 #if defined(QUADSPI) 00192 #define LL_AHB3_GRP1_PERIPH_QSPI RCC_AHB3ENR_QSPIEN 00193 #endif /* QUADSPI */ 00194 /** 00195 * @} 00196 */ 00197 #endif /* RCC_AHB3_SUPPORT */ 00198 00199 /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH 00200 * @{ 00201 */ 00202 #define LL_APB1_GRP1_PERIPH_ALL 0xFFFFFFFFU 00203 #if defined(TIM2) 00204 #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1ENR_TIM2EN 00205 #endif /* TIM2 */ 00206 #if defined(TIM3) 00207 #define LL_APB1_GRP1_PERIPH_TIM3 RCC_APB1ENR_TIM3EN 00208 #endif /* TIM3 */ 00209 #if defined(TIM4) 00210 #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1ENR_TIM4EN 00211 #endif /* TIM4 */ 00212 #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1ENR_TIM5EN 00213 #if defined(TIM6) 00214 #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1ENR_TIM6EN 00215 #endif /* TIM6 */ 00216 #if defined(TIM7) 00217 #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1ENR_TIM7EN 00218 #endif /* TIM7 */ 00219 #if defined(TIM12) 00220 #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1ENR_TIM12EN 00221 #endif /* TIM12 */ 00222 #if defined(TIM13) 00223 #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1ENR_TIM13EN 00224 #endif /* TIM13 */ 00225 #if defined(TIM14) 00226 #define LL_APB1_GRP1_PERIPH_TIM14 RCC_APB1ENR_TIM14EN 00227 #endif /* TIM14 */ 00228 #if defined(LPTIM1) 00229 #define LL_APB1_GRP1_PERIPH_LPTIM1 RCC_APB1ENR_LPTIM1EN 00230 #endif /* LPTIM1 */ 00231 #if defined(RCC_APB1ENR_RTCAPBEN) 00232 #define LL_APB1_GRP1_PERIPH_RTCAPB RCC_APB1ENR_RTCAPBEN 00233 #endif /* RCC_APB1ENR_RTCAPBEN */ 00234 #define LL_APB1_GRP1_PERIPH_WWDG RCC_APB1ENR_WWDGEN 00235 #if defined(SPI2) 00236 #define LL_APB1_GRP1_PERIPH_SPI2 RCC_APB1ENR_SPI2EN 00237 #endif /* SPI2 */ 00238 #if defined(SPI3) 00239 #define LL_APB1_GRP1_PERIPH_SPI3 RCC_APB1ENR_SPI3EN 00240 #endif /* SPI3 */ 00241 #if defined(SPDIFRX) 00242 #define LL_APB1_GRP1_PERIPH_SPDIFRX RCC_APB1ENR_SPDIFRXEN 00243 #endif /* SPDIFRX */ 00244 #define LL_APB1_GRP1_PERIPH_USART2 RCC_APB1ENR_USART2EN 00245 #if defined(USART3) 00246 #define LL_APB1_GRP1_PERIPH_USART3 RCC_APB1ENR_USART3EN 00247 #endif /* USART3 */ 00248 #if defined(UART4) 00249 #define LL_APB1_GRP1_PERIPH_UART4 RCC_APB1ENR_UART4EN 00250 #endif /* UART4 */ 00251 #if defined(UART5) 00252 #define LL_APB1_GRP1_PERIPH_UART5 RCC_APB1ENR_UART5EN 00253 #endif /* UART5 */ 00254 #define LL_APB1_GRP1_PERIPH_I2C1 RCC_APB1ENR_I2C1EN 00255 #define LL_APB1_GRP1_PERIPH_I2C2 RCC_APB1ENR_I2C2EN 00256 #if defined(I2C3) 00257 #define LL_APB1_GRP1_PERIPH_I2C3 RCC_APB1ENR_I2C3EN 00258 #endif /* I2C3 */ 00259 #if defined(FMPI2C1) 00260 #define LL_APB1_GRP1_PERIPH_FMPI2C1 RCC_APB1ENR_FMPI2C1EN 00261 #endif /* FMPI2C1 */ 00262 #if defined(CAN1) 00263 #define LL_APB1_GRP1_PERIPH_CAN1 RCC_APB1ENR_CAN1EN 00264 #endif /* CAN1 */ 00265 #if defined(CAN2) 00266 #define LL_APB1_GRP1_PERIPH_CAN2 RCC_APB1ENR_CAN2EN 00267 #endif /* CAN2 */ 00268 #if defined(CAN3) 00269 #define LL_APB1_GRP1_PERIPH_CAN3 RCC_APB1ENR_CAN3EN 00270 #endif /* CAN3 */ 00271 #if defined(CEC) 00272 #define LL_APB1_GRP1_PERIPH_CEC RCC_APB1ENR_CECEN 00273 #endif /* CEC */ 00274 #define LL_APB1_GRP1_PERIPH_PWR RCC_APB1ENR_PWREN 00275 #if defined(DAC1) 00276 #define LL_APB1_GRP1_PERIPH_DAC1 RCC_APB1ENR_DACEN 00277 #endif /* DAC1 */ 00278 #if defined(UART7) 00279 #define LL_APB1_GRP1_PERIPH_UART7 RCC_APB1ENR_UART7EN 00280 #endif /* UART7 */ 00281 #if defined(UART8) 00282 #define LL_APB1_GRP1_PERIPH_UART8 RCC_APB1ENR_UART8EN 00283 #endif /* UART8 */ 00284 /** 00285 * @} 00286 */ 00287 00288 /** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH APB2 GRP1 PERIPH 00289 * @{ 00290 */ 00291 #define LL_APB2_GRP1_PERIPH_ALL 0xFFFFFFFFU 00292 #define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN 00293 #if defined(TIM8) 00294 #define LL_APB2_GRP1_PERIPH_TIM8 RCC_APB2ENR_TIM8EN 00295 #endif /* TIM8 */ 00296 #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN 00297 #if defined(USART6) 00298 #define LL_APB2_GRP1_PERIPH_USART6 RCC_APB2ENR_USART6EN 00299 #endif /* USART6 */ 00300 #if defined(UART9) 00301 #define LL_APB2_GRP1_PERIPH_UART9 RCC_APB2ENR_UART9EN 00302 #endif /* UART9 */ 00303 #if defined(UART10) 00304 #define LL_APB2_GRP1_PERIPH_UART10 RCC_APB2ENR_UART10EN 00305 #endif /* UART10 */ 00306 #define LL_APB2_GRP1_PERIPH_ADC1 RCC_APB2ENR_ADC1EN 00307 #if defined(ADC2) 00308 #define LL_APB2_GRP1_PERIPH_ADC2 RCC_APB2ENR_ADC2EN 00309 #endif /* ADC2 */ 00310 #if defined(ADC3) 00311 #define LL_APB2_GRP1_PERIPH_ADC3 RCC_APB2ENR_ADC3EN 00312 #endif /* ADC3 */ 00313 #if defined(SDIO) 00314 #define LL_APB2_GRP1_PERIPH_SDIO RCC_APB2ENR_SDIOEN 00315 #endif /* SDIO */ 00316 #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN 00317 #if defined(SPI4) 00318 #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN 00319 #endif /* SPI4 */ 00320 #define LL_APB2_GRP1_PERIPH_SYSCFG RCC_APB2ENR_SYSCFGEN 00321 #if defined(RCC_APB2ENR_EXTITEN) 00322 #define LL_APB2_GRP1_PERIPH_EXTI RCC_APB2ENR_EXTITEN 00323 #endif /* RCC_APB2ENR_EXTITEN */ 00324 #define LL_APB2_GRP1_PERIPH_TIM9 RCC_APB2ENR_TIM9EN 00325 #if defined(TIM10) 00326 #define LL_APB2_GRP1_PERIPH_TIM10 RCC_APB2ENR_TIM10EN 00327 #endif /* TIM10 */ 00328 #define LL_APB2_GRP1_PERIPH_TIM11 RCC_APB2ENR_TIM11EN 00329 #if defined(SPI5) 00330 #define LL_APB2_GRP1_PERIPH_SPI5 RCC_APB2ENR_SPI5EN 00331 #endif /* SPI5 */ 00332 #if defined(SPI6) 00333 #define LL_APB2_GRP1_PERIPH_SPI6 RCC_APB2ENR_SPI6EN 00334 #endif /* SPI6 */ 00335 #if defined(SAI1) 00336 #define LL_APB2_GRP1_PERIPH_SAI1 RCC_APB2ENR_SAI1EN 00337 #endif /* SAI1 */ 00338 #if defined(SAI2) 00339 #define LL_APB2_GRP1_PERIPH_SAI2 RCC_APB2ENR_SAI2EN 00340 #endif /* SAI2 */ 00341 #if defined(LTDC) 00342 #define LL_APB2_GRP1_PERIPH_LTDC RCC_APB2ENR_LTDCEN 00343 #endif /* LTDC */ 00344 #if defined(DSI) 00345 #define LL_APB2_GRP1_PERIPH_DSI RCC_APB2ENR_DSIEN 00346 #endif /* DSI */ 00347 #if defined(DFSDM1_Channel0) 00348 #define LL_APB2_GRP1_PERIPH_DFSDM1 RCC_APB2ENR_DFSDM1EN 00349 #endif /* DFSDM1_Channel0 */ 00350 #if defined(DFSDM2_Channel0) 00351 #define LL_APB2_GRP1_PERIPH_DFSDM2 RCC_APB2ENR_DFSDM2EN 00352 #endif /* DFSDM2_Channel0 */ 00353 #define LL_APB2_GRP1_PERIPH_ADC RCC_APB2RSTR_ADCRST 00354 /** 00355 * @} 00356 */ 00357 00358 /** 00359 * @} 00360 */ 00361 00362 /* Exported macro ------------------------------------------------------------*/ 00363 /* Exported functions --------------------------------------------------------*/ 00364 /** @defgroup BUS_LL_Exported_Functions BUS Exported Functions 00365 * @{ 00366 */ 00367 00368 /** @defgroup BUS_LL_EF_AHB1 AHB1 00369 * @{ 00370 */ 00371 00372 /** 00373 * @brief Enable AHB1 peripherals clock. 00374 * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_EnableClock\n 00375 * AHB1ENR GPIOBEN LL_AHB1_GRP1_EnableClock\n 00376 * AHB1ENR GPIOCEN LL_AHB1_GRP1_EnableClock\n 00377 * AHB1ENR GPIODEN LL_AHB1_GRP1_EnableClock\n 00378 * AHB1ENR GPIOEEN LL_AHB1_GRP1_EnableClock\n 00379 * AHB1ENR GPIOFEN LL_AHB1_GRP1_EnableClock\n 00380 * AHB1ENR GPIOGEN LL_AHB1_GRP1_EnableClock\n 00381 * AHB1ENR GPIOHEN LL_AHB1_GRP1_EnableClock\n 00382 * AHB1ENR GPIOIEN LL_AHB1_GRP1_EnableClock\n 00383 * AHB1ENR GPIOJEN LL_AHB1_GRP1_EnableClock\n 00384 * AHB1ENR GPIOKEN LL_AHB1_GRP1_EnableClock\n 00385 * AHB1ENR CRCEN LL_AHB1_GRP1_EnableClock\n 00386 * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_EnableClock\n 00387 * AHB1ENR CCMDATARAMEN LL_AHB1_GRP1_EnableClock\n 00388 * AHB1ENR DMA1EN LL_AHB1_GRP1_EnableClock\n 00389 * AHB1ENR DMA2EN LL_AHB1_GRP1_EnableClock\n 00390 * AHB1ENR RNGEN LL_AHB1_GRP1_EnableClock\n 00391 * AHB1ENR DMA2DEN LL_AHB1_GRP1_EnableClock\n 00392 * AHB1ENR ETHMACEN LL_AHB1_GRP1_EnableClock\n 00393 * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_EnableClock\n 00394 * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_EnableClock\n 00395 * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_EnableClock\n 00396 * AHB1ENR OTGHSEN LL_AHB1_GRP1_EnableClock\n 00397 * AHB1ENR OTGHSULPIEN LL_AHB1_GRP1_EnableClock 00398 * @param Periphs This parameter can be a combination of the following values: 00399 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00400 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00401 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00402 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00403 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00404 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00405 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00406 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00407 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00408 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00409 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00410 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00411 * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM (*) 00412 * @arg @ref LL_AHB1_GRP1_PERIPH_CCMDATARAM (*) 00413 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00414 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00415 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00416 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00417 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00418 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 00419 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) 00420 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*) 00421 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00422 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI (*) 00423 * 00424 * (*) value not defined in all devices. 00425 * @retval None 00426 */ 00427 __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs) 00428 { 00429 __IO uint32_t tmpreg; 00430 SET_BIT(RCC->AHB1ENR, Periphs); 00431 /* Delay after an RCC peripheral clock enabling */ 00432 tmpreg = READ_BIT(RCC->AHB1ENR, Periphs); 00433 (void)tmpreg; 00434 } 00435 00436 /** 00437 * @brief Check if AHB1 peripheral clock is enabled or not 00438 * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_IsEnabledClock\n 00439 * AHB1ENR GPIOBEN LL_AHB1_GRP1_IsEnabledClock\n 00440 * AHB1ENR GPIOCEN LL_AHB1_GRP1_IsEnabledClock\n 00441 * AHB1ENR GPIODEN LL_AHB1_GRP1_IsEnabledClock\n 00442 * AHB1ENR GPIOEEN LL_AHB1_GRP1_IsEnabledClock\n 00443 * AHB1ENR GPIOFEN LL_AHB1_GRP1_IsEnabledClock\n 00444 * AHB1ENR GPIOGEN LL_AHB1_GRP1_IsEnabledClock\n 00445 * AHB1ENR GPIOHEN LL_AHB1_GRP1_IsEnabledClock\n 00446 * AHB1ENR GPIOIEN LL_AHB1_GRP1_IsEnabledClock\n 00447 * AHB1ENR GPIOJEN LL_AHB1_GRP1_IsEnabledClock\n 00448 * AHB1ENR GPIOKEN LL_AHB1_GRP1_IsEnabledClock\n 00449 * AHB1ENR CRCEN LL_AHB1_GRP1_IsEnabledClock\n 00450 * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_IsEnabledClock\n 00451 * AHB1ENR CCMDATARAMEN LL_AHB1_GRP1_IsEnabledClock\n 00452 * AHB1ENR DMA1EN LL_AHB1_GRP1_IsEnabledClock\n 00453 * AHB1ENR DMA2EN LL_AHB1_GRP1_IsEnabledClock\n 00454 * AHB1ENR RNGEN LL_AHB1_GRP1_IsEnabledClock\n 00455 * AHB1ENR DMA2DEN LL_AHB1_GRP1_IsEnabledClock\n 00456 * AHB1ENR ETHMACEN LL_AHB1_GRP1_IsEnabledClock\n 00457 * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_IsEnabledClock\n 00458 * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_IsEnabledClock\n 00459 * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_IsEnabledClock\n 00460 * AHB1ENR OTGHSEN LL_AHB1_GRP1_IsEnabledClock\n 00461 * AHB1ENR OTGHSULPIEN LL_AHB1_GRP1_IsEnabledClock 00462 * @param Periphs This parameter can be a combination of the following values: 00463 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00464 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00465 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00466 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00467 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00468 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00469 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00470 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00471 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00472 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00473 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00474 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00475 * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM (*) 00476 * @arg @ref LL_AHB1_GRP1_PERIPH_CCMDATARAM (*) 00477 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00478 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00479 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00480 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00481 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00482 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 00483 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) 00484 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*) 00485 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00486 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI (*) 00487 * 00488 * (*) value not defined in all devices. 00489 * @retval State of Periphs (1 or 0). 00490 */ 00491 __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs) 00492 { 00493 return (READ_BIT(RCC->AHB1ENR, Periphs) == Periphs); 00494 } 00495 00496 /** 00497 * @brief Disable AHB1 peripherals clock. 00498 * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_DisableClock\n 00499 * AHB1ENR GPIOBEN LL_AHB1_GRP1_DisableClock\n 00500 * AHB1ENR GPIOCEN LL_AHB1_GRP1_DisableClock\n 00501 * AHB1ENR GPIODEN LL_AHB1_GRP1_DisableClock\n 00502 * AHB1ENR GPIOEEN LL_AHB1_GRP1_DisableClock\n 00503 * AHB1ENR GPIOFEN LL_AHB1_GRP1_DisableClock\n 00504 * AHB1ENR GPIOGEN LL_AHB1_GRP1_DisableClock\n 00505 * AHB1ENR GPIOHEN LL_AHB1_GRP1_DisableClock\n 00506 * AHB1ENR GPIOIEN LL_AHB1_GRP1_DisableClock\n 00507 * AHB1ENR GPIOJEN LL_AHB1_GRP1_DisableClock\n 00508 * AHB1ENR GPIOKEN LL_AHB1_GRP1_DisableClock\n 00509 * AHB1ENR CRCEN LL_AHB1_GRP1_DisableClock\n 00510 * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_DisableClock\n 00511 * AHB1ENR CCMDATARAMEN LL_AHB1_GRP1_DisableClock\n 00512 * AHB1ENR DMA1EN LL_AHB1_GRP1_DisableClock\n 00513 * AHB1ENR DMA2EN LL_AHB1_GRP1_DisableClock\n 00514 * AHB1ENR RNGEN LL_AHB1_GRP1_DisableClock\n 00515 * AHB1ENR DMA2DEN LL_AHB1_GRP1_DisableClock\n 00516 * AHB1ENR ETHMACEN LL_AHB1_GRP1_DisableClock\n 00517 * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_DisableClock\n 00518 * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_DisableClock\n 00519 * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_DisableClock\n 00520 * AHB1ENR OTGHSEN LL_AHB1_GRP1_DisableClock\n 00521 * AHB1ENR OTGHSULPIEN LL_AHB1_GRP1_DisableClock 00522 * @param Periphs This parameter can be a combination of the following values: 00523 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00524 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00525 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00526 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00527 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00528 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00529 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00530 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00531 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00532 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00533 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00534 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00535 * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM (*) 00536 * @arg @ref LL_AHB1_GRP1_PERIPH_CCMDATARAM (*) 00537 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00538 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00539 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00540 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00541 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00542 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 00543 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) 00544 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*) 00545 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00546 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI (*) 00547 * 00548 * (*) value not defined in all devices. 00549 * @retval None 00550 */ 00551 __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs) 00552 { 00553 CLEAR_BIT(RCC->AHB1ENR, Periphs); 00554 } 00555 00556 /** 00557 * @brief Force AHB1 peripherals reset. 00558 * @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ForceReset\n 00559 * AHB1RSTR GPIOBRST LL_AHB1_GRP1_ForceReset\n 00560 * AHB1RSTR GPIOCRST LL_AHB1_GRP1_ForceReset\n 00561 * AHB1RSTR GPIODRST LL_AHB1_GRP1_ForceReset\n 00562 * AHB1RSTR GPIOERST LL_AHB1_GRP1_ForceReset\n 00563 * AHB1RSTR GPIOFRST LL_AHB1_GRP1_ForceReset\n 00564 * AHB1RSTR GPIOGRST LL_AHB1_GRP1_ForceReset\n 00565 * AHB1RSTR GPIOHRST LL_AHB1_GRP1_ForceReset\n 00566 * AHB1RSTR GPIOIRST LL_AHB1_GRP1_ForceReset\n 00567 * AHB1RSTR GPIOJRST LL_AHB1_GRP1_ForceReset\n 00568 * AHB1RSTR GPIOKRST LL_AHB1_GRP1_ForceReset\n 00569 * AHB1RSTR CRCRST LL_AHB1_GRP1_ForceReset\n 00570 * AHB1RSTR DMA1RST LL_AHB1_GRP1_ForceReset\n 00571 * AHB1RSTR DMA2RST LL_AHB1_GRP1_ForceReset\n 00572 * AHB1RSTR RNGRST LL_AHB1_GRP1_ForceReset\n 00573 * AHB1RSTR DMA2DRST LL_AHB1_GRP1_ForceReset\n 00574 * AHB1RSTR ETHMACRST LL_AHB1_GRP1_ForceReset\n 00575 * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ForceReset 00576 * @param Periphs This parameter can be a combination of the following values: 00577 * @arg @ref LL_AHB1_GRP1_PERIPH_ALL 00578 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00579 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00580 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00581 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00582 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00583 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00584 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00585 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00586 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00587 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00588 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00589 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00590 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00591 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00592 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00593 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00594 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00595 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00596 * 00597 * (*) value not defined in all devices. 00598 * @retval None 00599 */ 00600 __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs) 00601 { 00602 SET_BIT(RCC->AHB1RSTR, Periphs); 00603 } 00604 00605 /** 00606 * @brief Release AHB1 peripherals reset. 00607 * @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ReleaseReset\n 00608 * AHB1RSTR GPIOBRST LL_AHB1_GRP1_ReleaseReset\n 00609 * AHB1RSTR GPIOCRST LL_AHB1_GRP1_ReleaseReset\n 00610 * AHB1RSTR GPIODRST LL_AHB1_GRP1_ReleaseReset\n 00611 * AHB1RSTR GPIOERST LL_AHB1_GRP1_ReleaseReset\n 00612 * AHB1RSTR GPIOFRST LL_AHB1_GRP1_ReleaseReset\n 00613 * AHB1RSTR GPIOGRST LL_AHB1_GRP1_ReleaseReset\n 00614 * AHB1RSTR GPIOHRST LL_AHB1_GRP1_ReleaseReset\n 00615 * AHB1RSTR GPIOIRST LL_AHB1_GRP1_ReleaseReset\n 00616 * AHB1RSTR GPIOJRST LL_AHB1_GRP1_ReleaseReset\n 00617 * AHB1RSTR GPIOKRST LL_AHB1_GRP1_ReleaseReset\n 00618 * AHB1RSTR CRCRST LL_AHB1_GRP1_ReleaseReset\n 00619 * AHB1RSTR DMA1RST LL_AHB1_GRP1_ReleaseReset\n 00620 * AHB1RSTR DMA2RST LL_AHB1_GRP1_ReleaseReset\n 00621 * AHB1RSTR RNGRST LL_AHB1_GRP1_ReleaseReset\n 00622 * AHB1RSTR DMA2DRST LL_AHB1_GRP1_ReleaseReset\n 00623 * AHB1RSTR ETHMACRST LL_AHB1_GRP1_ReleaseReset\n 00624 * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ReleaseReset 00625 * @param Periphs This parameter can be a combination of the following values: 00626 * @arg @ref LL_AHB1_GRP1_PERIPH_ALL 00627 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00628 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00629 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00630 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00631 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00632 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00633 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00634 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00635 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00636 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00637 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00638 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00639 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00640 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00641 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00642 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00643 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00644 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00645 * 00646 * (*) value not defined in all devices. 00647 * @retval None 00648 */ 00649 __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs) 00650 { 00651 CLEAR_BIT(RCC->AHB1RSTR, Periphs); 00652 } 00653 00654 /** 00655 * @brief Enable AHB1 peripheral clocks in low-power mode 00656 * @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_EnableClockLowPower\n 00657 * AHB1LPENR GPIOBLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00658 * AHB1LPENR GPIOCLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00659 * AHB1LPENR GPIODLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00660 * AHB1LPENR GPIOELPEN LL_AHB1_GRP1_EnableClockLowPower\n 00661 * AHB1LPENR GPIOFLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00662 * AHB1LPENR GPIOGLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00663 * AHB1LPENR GPIOHLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00664 * AHB1LPENR GPIOILPEN LL_AHB1_GRP1_EnableClockLowPower\n 00665 * AHB1LPENR GPIOJLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00666 * AHB1LPENR GPIOKLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00667 * AHB1LPENR CRCLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00668 * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00669 * AHB1LPENR FLITFLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00670 * AHB1LPENR SRAM1LPEN LL_AHB1_GRP1_EnableClockLowPower\n 00671 * AHB1LPENR SRAM2LPEN LL_AHB1_GRP1_EnableClockLowPower\n 00672 * AHB1LPENR SRAM3LPEN LL_AHB1_GRP1_EnableClockLowPower\n 00673 * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00674 * AHB1LPENR DMA1LPEN LL_AHB1_GRP1_EnableClockLowPower\n 00675 * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_EnableClockLowPower\n 00676 * AHB1LPENR DMA2DLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00677 * AHB1LPENR RNGLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00678 * AHB1LPENR ETHMACLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00679 * AHB1LPENR ETHMACTXLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00680 * AHB1LPENR ETHMACRXLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00681 * AHB1LPENR ETHMACPTPLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00682 * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_EnableClockLowPower\n 00683 * AHB1LPENR OTGHSULPILPEN LL_AHB1_GRP1_EnableClockLowPower 00684 * @param Periphs This parameter can be a combination of the following values: 00685 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00686 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00687 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00688 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00689 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00690 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00691 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00692 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00693 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00694 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00695 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00696 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00697 * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM (*) 00698 * @arg @ref LL_AHB1_GRP1_PERIPH_FLITF 00699 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1 00700 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM2 (*) 00701 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM3 (*) 00702 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00703 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00704 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00705 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00706 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00707 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 00708 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) 00709 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*) 00710 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00711 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI (*) 00712 * 00713 * (*) value not defined in all devices. 00714 * @retval None 00715 */ 00716 __STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs) 00717 { 00718 __IO uint32_t tmpreg; 00719 SET_BIT(RCC->AHB1LPENR, Periphs); 00720 /* Delay after an RCC peripheral clock enabling */ 00721 tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs); 00722 (void)tmpreg; 00723 } 00724 00725 /** 00726 * @brief Disable AHB1 peripheral clocks in low-power mode 00727 * @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_DisableClockLowPower\n 00728 * AHB1LPENR GPIOBLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00729 * AHB1LPENR GPIOCLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00730 * AHB1LPENR GPIODLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00731 * AHB1LPENR GPIOELPEN LL_AHB1_GRP1_DisableClockLowPower\n 00732 * AHB1LPENR GPIOFLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00733 * AHB1LPENR GPIOGLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00734 * AHB1LPENR GPIOHLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00735 * AHB1LPENR GPIOILPEN LL_AHB1_GRP1_DisableClockLowPower\n 00736 * AHB1LPENR GPIOJLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00737 * AHB1LPENR GPIOKLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00738 * AHB1LPENR CRCLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00739 * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00740 * AHB1LPENR FLITFLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00741 * AHB1LPENR SRAM1LPEN LL_AHB1_GRP1_DisableClockLowPower\n 00742 * AHB1LPENR SRAM2LPEN LL_AHB1_GRP1_DisableClockLowPower\n 00743 * AHB1LPENR SRAM3LPEN LL_AHB1_GRP1_DisableClockLowPower\n 00744 * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00745 * AHB1LPENR DMA1LPEN LL_AHB1_GRP1_DisableClockLowPower\n 00746 * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_DisableClockLowPower\n 00747 * AHB1LPENR DMA2DLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00748 * AHB1LPENR RNGLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00749 * AHB1LPENR ETHMACLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00750 * AHB1LPENR ETHMACTXLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00751 * AHB1LPENR ETHMACRXLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00752 * AHB1LPENR ETHMACPTPLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00753 * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_DisableClockLowPower\n 00754 * AHB1LPENR OTGHSULPILPEN LL_AHB1_GRP1_DisableClockLowPower 00755 * @param Periphs This parameter can be a combination of the following values: 00756 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 00757 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 00758 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC 00759 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD (*) 00760 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE (*) 00761 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF (*) 00762 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG (*) 00763 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH (*) 00764 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI (*) 00765 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*) 00766 * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*) 00767 * @arg @ref LL_AHB1_GRP1_PERIPH_CRC 00768 * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM (*) 00769 * @arg @ref LL_AHB1_GRP1_PERIPH_FLITF 00770 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1 00771 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM2 (*) 00772 * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM3 (*) 00773 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 00774 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 00775 * @arg @ref LL_AHB1_GRP1_PERIPH_RNG (*) 00776 * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) 00777 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 00778 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 00779 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) 00780 * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*) 00781 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS (*) 00782 * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI (*) 00783 * 00784 * (*) value not defined in all devices. 00785 * @retval None 00786 */ 00787 __STATIC_INLINE void LL_AHB1_GRP1_DisableClockLowPower(uint32_t Periphs) 00788 { 00789 CLEAR_BIT(RCC->AHB1LPENR, Periphs); 00790 } 00791 00792 /** 00793 * @} 00794 */ 00795 00796 #if defined(RCC_AHB2_SUPPORT) 00797 /** @defgroup BUS_LL_EF_AHB2 AHB2 00798 * @{ 00799 */ 00800 00801 /** 00802 * @brief Enable AHB2 peripherals clock. 00803 * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_EnableClock\n 00804 * AHB2ENR CRYPEN LL_AHB2_GRP1_EnableClock\n 00805 * AHB2ENR AESEN LL_AHB2_GRP1_EnableClock\n 00806 * AHB2ENR HASHEN LL_AHB2_GRP1_EnableClock\n 00807 * AHB2ENR RNGEN LL_AHB2_GRP1_EnableClock\n 00808 * AHB2ENR OTGFSEN LL_AHB2_GRP1_EnableClock 00809 * @param Periphs This parameter can be a combination of the following values: 00810 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00811 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00812 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00813 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00814 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00815 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00816 * 00817 * (*) value not defined in all devices. 00818 * @retval None 00819 */ 00820 __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs) 00821 { 00822 __IO uint32_t tmpreg; 00823 SET_BIT(RCC->AHB2ENR, Periphs); 00824 /* Delay after an RCC peripheral clock enabling */ 00825 tmpreg = READ_BIT(RCC->AHB2ENR, Periphs); 00826 (void)tmpreg; 00827 } 00828 00829 /** 00830 * @brief Check if AHB2 peripheral clock is enabled or not 00831 * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_IsEnabledClock\n 00832 * AHB2ENR CRYPEN LL_AHB2_GRP1_IsEnabledClock\n 00833 * AHB2ENR AESEN LL_AHB2_GRP1_IsEnabledClock\n 00834 * AHB2ENR HASHEN LL_AHB2_GRP1_IsEnabledClock\n 00835 * AHB2ENR RNGEN LL_AHB2_GRP1_IsEnabledClock\n 00836 * AHB2ENR OTGFSEN LL_AHB2_GRP1_IsEnabledClock 00837 * @param Periphs This parameter can be a combination of the following values: 00838 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00839 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00840 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00841 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00842 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00843 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00844 * 00845 * (*) value not defined in all devices. 00846 * @retval State of Periphs (1 or 0). 00847 */ 00848 __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs) 00849 { 00850 return (READ_BIT(RCC->AHB2ENR, Periphs) == Periphs); 00851 } 00852 00853 /** 00854 * @brief Disable AHB2 peripherals clock. 00855 * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_DisableClock\n 00856 * AHB2ENR CRYPEN LL_AHB2_GRP1_DisableClock\n 00857 * AHB2ENR AESEN LL_AHB2_GRP1_DisableClock\n 00858 * AHB2ENR HASHEN LL_AHB2_GRP1_DisableClock\n 00859 * AHB2ENR RNGEN LL_AHB2_GRP1_DisableClock\n 00860 * AHB2ENR OTGFSEN LL_AHB2_GRP1_DisableClock 00861 * @param Periphs This parameter can be a combination of the following values: 00862 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00863 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00864 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00865 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00866 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00867 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00868 * 00869 * (*) value not defined in all devices. 00870 * @retval None 00871 */ 00872 __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs) 00873 { 00874 CLEAR_BIT(RCC->AHB2ENR, Periphs); 00875 } 00876 00877 /** 00878 * @brief Force AHB2 peripherals reset. 00879 * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ForceReset\n 00880 * AHB2RSTR CRYPRST LL_AHB2_GRP1_ForceReset\n 00881 * AHB2RSTR AESRST LL_AHB2_GRP1_ForceReset\n 00882 * AHB2RSTR HASHRST LL_AHB2_GRP1_ForceReset\n 00883 * AHB2RSTR RNGRST LL_AHB2_GRP1_ForceReset\n 00884 * AHB2RSTR OTGFSRST LL_AHB2_GRP1_ForceReset 00885 * @param Periphs This parameter can be a combination of the following values: 00886 * @arg @ref LL_AHB2_GRP1_PERIPH_ALL 00887 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00888 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00889 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00890 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00891 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00892 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00893 * 00894 * (*) value not defined in all devices. 00895 * @retval None 00896 */ 00897 __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs) 00898 { 00899 SET_BIT(RCC->AHB2RSTR, Periphs); 00900 } 00901 00902 /** 00903 * @brief Release AHB2 peripherals reset. 00904 * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ReleaseReset\n 00905 * AHB2RSTR CRYPRST LL_AHB2_GRP1_ReleaseReset\n 00906 * AHB2RSTR AESRST LL_AHB2_GRP1_ReleaseReset\n 00907 * AHB2RSTR HASHRST LL_AHB2_GRP1_ReleaseReset\n 00908 * AHB2RSTR RNGRST LL_AHB2_GRP1_ReleaseReset\n 00909 * AHB2RSTR OTGFSRST LL_AHB2_GRP1_ReleaseReset 00910 * @param Periphs This parameter can be a combination of the following values: 00911 * @arg @ref LL_AHB2_GRP1_PERIPH_ALL 00912 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00913 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00914 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00915 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00916 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00917 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00918 * 00919 * (*) value not defined in all devices. 00920 * @retval None 00921 */ 00922 __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs) 00923 { 00924 CLEAR_BIT(RCC->AHB2RSTR, Periphs); 00925 } 00926 00927 /** 00928 * @brief Enable AHB2 peripheral clocks in low-power mode 00929 * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_EnableClockLowPower\n 00930 * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_EnableClockLowPower\n 00931 * AHB2LPENR AESLPEN LL_AHB2_GRP1_EnableClockLowPower\n 00932 * AHB2LPENR HASHLPEN LL_AHB2_GRP1_EnableClockLowPower\n 00933 * AHB2LPENR RNGLPEN LL_AHB2_GRP1_EnableClockLowPower\n 00934 * AHB2LPENR OTGFSLPEN LL_AHB2_GRP1_EnableClockLowPower 00935 * @param Periphs This parameter can be a combination of the following values: 00936 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00937 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00938 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00939 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00940 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00941 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00942 * 00943 * (*) value not defined in all devices. 00944 * @retval None 00945 */ 00946 __STATIC_INLINE void LL_AHB2_GRP1_EnableClockLowPower(uint32_t Periphs) 00947 { 00948 __IO uint32_t tmpreg; 00949 SET_BIT(RCC->AHB2LPENR, Periphs); 00950 /* Delay after an RCC peripheral clock enabling */ 00951 tmpreg = READ_BIT(RCC->AHB2LPENR, Periphs); 00952 (void)tmpreg; 00953 } 00954 00955 /** 00956 * @brief Disable AHB2 peripheral clocks in low-power mode 00957 * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_DisableClockLowPower\n 00958 * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_DisableClockLowPower\n 00959 * AHB2LPENR AESLPEN LL_AHB2_GRP1_DisableClockLowPower\n 00960 * AHB2LPENR HASHLPEN LL_AHB2_GRP1_DisableClockLowPower\n 00961 * AHB2LPENR RNGLPEN LL_AHB2_GRP1_DisableClockLowPower\n 00962 * AHB2LPENR OTGFSLPEN LL_AHB2_GRP1_DisableClockLowPower 00963 * @param Periphs This parameter can be a combination of the following values: 00964 * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 00965 * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 00966 * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 00967 * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) 00968 * @arg @ref LL_AHB2_GRP1_PERIPH_RNG (*) 00969 * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS (*) 00970 * 00971 * (*) value not defined in all devices. 00972 * @retval None 00973 */ 00974 __STATIC_INLINE void LL_AHB2_GRP1_DisableClockLowPower(uint32_t Periphs) 00975 { 00976 CLEAR_BIT(RCC->AHB2LPENR, Periphs); 00977 } 00978 00979 /** 00980 * @} 00981 */ 00982 #endif /* RCC_AHB2_SUPPORT */ 00983 00984 #if defined(RCC_AHB3_SUPPORT) 00985 /** @defgroup BUS_LL_EF_AHB3 AHB3 00986 * @{ 00987 */ 00988 00989 /** 00990 * @brief Enable AHB3 peripherals clock. 00991 * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_EnableClock\n 00992 * AHB3ENR FSMCEN LL_AHB3_GRP1_EnableClock\n 00993 * AHB3ENR QSPIEN LL_AHB3_GRP1_EnableClock 00994 * @param Periphs This parameter can be a combination of the following values: 00995 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 00996 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 00997 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 00998 * 00999 * (*) value not defined in all devices. 01000 * @retval None 01001 */ 01002 __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs) 01003 { 01004 __IO uint32_t tmpreg; 01005 SET_BIT(RCC->AHB3ENR, Periphs); 01006 /* Delay after an RCC peripheral clock enabling */ 01007 tmpreg = READ_BIT(RCC->AHB3ENR, Periphs); 01008 (void)tmpreg; 01009 } 01010 01011 /** 01012 * @brief Check if AHB3 peripheral clock is enabled or not 01013 * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_IsEnabledClock\n 01014 * AHB3ENR FSMCEN LL_AHB3_GRP1_IsEnabledClock\n 01015 * AHB3ENR QSPIEN LL_AHB3_GRP1_IsEnabledClock 01016 * @param Periphs This parameter can be a combination of the following values: 01017 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01018 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01019 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01020 * 01021 * (*) value not defined in all devices. 01022 * @retval State of Periphs (1 or 0). 01023 */ 01024 __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs) 01025 { 01026 return (READ_BIT(RCC->AHB3ENR, Periphs) == Periphs); 01027 } 01028 01029 /** 01030 * @brief Disable AHB3 peripherals clock. 01031 * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_DisableClock\n 01032 * AHB3ENR FSMCEN LL_AHB3_GRP1_DisableClock\n 01033 * AHB3ENR QSPIEN LL_AHB3_GRP1_DisableClock 01034 * @param Periphs This parameter can be a combination of the following values: 01035 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01036 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01037 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01038 * 01039 * (*) value not defined in all devices. 01040 * @retval None 01041 */ 01042 __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs) 01043 { 01044 CLEAR_BIT(RCC->AHB3ENR, Periphs); 01045 } 01046 01047 /** 01048 * @brief Force AHB3 peripherals reset. 01049 * @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ForceReset\n 01050 * AHB3RSTR FSMCRST LL_AHB3_GRP1_ForceReset\n 01051 * AHB3RSTR QSPIRST LL_AHB3_GRP1_ForceReset 01052 * @param Periphs This parameter can be a combination of the following values: 01053 * @arg @ref LL_AHB3_GRP1_PERIPH_ALL 01054 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01055 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01056 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01057 * 01058 * (*) value not defined in all devices. 01059 * @retval None 01060 */ 01061 __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs) 01062 { 01063 SET_BIT(RCC->AHB3RSTR, Periphs); 01064 } 01065 01066 /** 01067 * @brief Release AHB3 peripherals reset. 01068 * @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ReleaseReset\n 01069 * AHB3RSTR FSMCRST LL_AHB3_GRP1_ReleaseReset\n 01070 * AHB3RSTR QSPIRST LL_AHB3_GRP1_ReleaseReset 01071 * @param Periphs This parameter can be a combination of the following values: 01072 * @arg @ref LL_AHB2_GRP1_PERIPH_ALL 01073 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01074 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01075 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01076 * 01077 * (*) value not defined in all devices. 01078 * @retval None 01079 */ 01080 __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs) 01081 { 01082 CLEAR_BIT(RCC->AHB3RSTR, Periphs); 01083 } 01084 01085 /** 01086 * @brief Enable AHB3 peripheral clocks in low-power mode 01087 * @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_EnableClockLowPower\n 01088 * AHB3LPENR FSMCLPEN LL_AHB3_GRP1_EnableClockLowPower\n 01089 * AHB3LPENR QSPILPEN LL_AHB3_GRP1_EnableClockLowPower 01090 * @param Periphs This parameter can be a combination of the following values: 01091 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01092 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01093 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01094 * 01095 * (*) value not defined in all devices. 01096 * @retval None 01097 */ 01098 __STATIC_INLINE void LL_AHB3_GRP1_EnableClockLowPower(uint32_t Periphs) 01099 { 01100 __IO uint32_t tmpreg; 01101 SET_BIT(RCC->AHB3LPENR, Periphs); 01102 /* Delay after an RCC peripheral clock enabling */ 01103 tmpreg = READ_BIT(RCC->AHB3LPENR, Periphs); 01104 (void)tmpreg; 01105 } 01106 01107 /** 01108 * @brief Disable AHB3 peripheral clocks in low-power mode 01109 * @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_DisableClockLowPower\n 01110 * AHB3LPENR FSMCLPEN LL_AHB3_GRP1_DisableClockLowPower\n 01111 * AHB3LPENR QSPILPEN LL_AHB3_GRP1_DisableClockLowPower 01112 * @param Periphs This parameter can be a combination of the following values: 01113 * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 01114 * @arg @ref LL_AHB3_GRP1_PERIPH_FSMC (*) 01115 * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*) 01116 * 01117 * (*) value not defined in all devices. 01118 * @retval None 01119 */ 01120 __STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs) 01121 { 01122 CLEAR_BIT(RCC->AHB3LPENR, Periphs); 01123 } 01124 01125 /** 01126 * @} 01127 */ 01128 #endif /* RCC_AHB3_SUPPORT */ 01129 01130 /** @defgroup BUS_LL_EF_APB1 APB1 01131 * @{ 01132 */ 01133 01134 /** 01135 * @brief Enable APB1 peripherals clock. 01136 * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_EnableClock\n 01137 * APB1ENR TIM3EN LL_APB1_GRP1_EnableClock\n 01138 * APB1ENR TIM4EN LL_APB1_GRP1_EnableClock\n 01139 * APB1ENR TIM5EN LL_APB1_GRP1_EnableClock\n 01140 * APB1ENR TIM6EN LL_APB1_GRP1_EnableClock\n 01141 * APB1ENR TIM7EN LL_APB1_GRP1_EnableClock\n 01142 * APB1ENR TIM12EN LL_APB1_GRP1_EnableClock\n 01143 * APB1ENR TIM13EN LL_APB1_GRP1_EnableClock\n 01144 * APB1ENR TIM14EN LL_APB1_GRP1_EnableClock\n 01145 * APB1ENR LPTIM1EN LL_APB1_GRP1_EnableClock\n 01146 * APB1ENR WWDGEN LL_APB1_GRP1_EnableClock\n 01147 * APB1ENR SPI2EN LL_APB1_GRP1_EnableClock\n 01148 * APB1ENR SPI3EN LL_APB1_GRP1_EnableClock\n 01149 * APB1ENR SPDIFRXEN LL_APB1_GRP1_EnableClock\n 01150 * APB1ENR USART2EN LL_APB1_GRP1_EnableClock\n 01151 * APB1ENR USART3EN LL_APB1_GRP1_EnableClock\n 01152 * APB1ENR UART4EN LL_APB1_GRP1_EnableClock\n 01153 * APB1ENR UART5EN LL_APB1_GRP1_EnableClock\n 01154 * APB1ENR I2C1EN LL_APB1_GRP1_EnableClock\n 01155 * APB1ENR I2C2EN LL_APB1_GRP1_EnableClock\n 01156 * APB1ENR I2C3EN LL_APB1_GRP1_EnableClock\n 01157 * APB1ENR FMPI2C1EN LL_APB1_GRP1_EnableClock\n 01158 * APB1ENR CAN1EN LL_APB1_GRP1_EnableClock\n 01159 * APB1ENR CAN2EN LL_APB1_GRP1_EnableClock\n 01160 * APB1ENR CAN3EN LL_APB1_GRP1_EnableClock\n 01161 * APB1ENR CECEN LL_APB1_GRP1_EnableClock\n 01162 * APB1ENR PWREN LL_APB1_GRP1_EnableClock\n 01163 * APB1ENR DACEN LL_APB1_GRP1_EnableClock\n 01164 * APB1ENR UART7EN LL_APB1_GRP1_EnableClock\n 01165 * APB1ENR UART8EN LL_APB1_GRP1_EnableClock\n 01166 * APB1ENR RTCAPBEN LL_APB1_GRP1_EnableClock 01167 * @param Periphs This parameter can be a combination of the following values: 01168 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01169 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01170 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01171 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01172 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01173 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01174 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01175 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01176 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01177 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01178 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01179 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01180 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01181 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01182 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01183 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01184 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01185 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01186 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01187 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01188 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01189 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01190 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01191 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01192 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01193 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01194 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01195 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01196 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01197 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01198 * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) 01199 * 01200 * (*) value not defined in all devices. 01201 * @retval None 01202 */ 01203 __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs) 01204 { 01205 __IO uint32_t tmpreg; 01206 SET_BIT(RCC->APB1ENR, Periphs); 01207 /* Delay after an RCC peripheral clock enabling */ 01208 tmpreg = READ_BIT(RCC->APB1ENR, Periphs); 01209 (void)tmpreg; 01210 } 01211 01212 /** 01213 * @brief Check if APB1 peripheral clock is enabled or not 01214 * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_IsEnabledClock\n 01215 * APB1ENR TIM3EN LL_APB1_GRP1_IsEnabledClock\n 01216 * APB1ENR TIM4EN LL_APB1_GRP1_IsEnabledClock\n 01217 * APB1ENR TIM5EN LL_APB1_GRP1_IsEnabledClock\n 01218 * APB1ENR TIM6EN LL_APB1_GRP1_IsEnabledClock\n 01219 * APB1ENR TIM7EN LL_APB1_GRP1_IsEnabledClock\n 01220 * APB1ENR TIM12EN LL_APB1_GRP1_IsEnabledClock\n 01221 * APB1ENR TIM13EN LL_APB1_GRP1_IsEnabledClock\n 01222 * APB1ENR TIM14EN LL_APB1_GRP1_IsEnabledClock\n 01223 * APB1ENR LPTIM1EN LL_APB1_GRP1_IsEnabledClock\n 01224 * APB1ENR WWDGEN LL_APB1_GRP1_IsEnabledClock\n 01225 * APB1ENR SPI2EN LL_APB1_GRP1_IsEnabledClock\n 01226 * APB1ENR SPI3EN LL_APB1_GRP1_IsEnabledClock\n 01227 * APB1ENR SPDIFRXEN LL_APB1_GRP1_IsEnabledClock\n 01228 * APB1ENR USART2EN LL_APB1_GRP1_IsEnabledClock\n 01229 * APB1ENR USART3EN LL_APB1_GRP1_IsEnabledClock\n 01230 * APB1ENR UART4EN LL_APB1_GRP1_IsEnabledClock\n 01231 * APB1ENR UART5EN LL_APB1_GRP1_IsEnabledClock\n 01232 * APB1ENR I2C1EN LL_APB1_GRP1_IsEnabledClock\n 01233 * APB1ENR I2C2EN LL_APB1_GRP1_IsEnabledClock\n 01234 * APB1ENR I2C3EN LL_APB1_GRP1_IsEnabledClock\n 01235 * APB1ENR FMPI2C1EN LL_APB1_GRP1_IsEnabledClock\n 01236 * APB1ENR CAN1EN LL_APB1_GRP1_IsEnabledClock\n 01237 * APB1ENR CAN2EN LL_APB1_GRP1_IsEnabledClock\n 01238 * APB1ENR CAN3EN LL_APB1_GRP1_IsEnabledClock\n 01239 * APB1ENR CECEN LL_APB1_GRP1_IsEnabledClock\n 01240 * APB1ENR PWREN LL_APB1_GRP1_IsEnabledClock\n 01241 * APB1ENR DACEN LL_APB1_GRP1_IsEnabledClock\n 01242 * APB1ENR UART7EN LL_APB1_GRP1_IsEnabledClock\n 01243 * APB1ENR UART8EN LL_APB1_GRP1_IsEnabledClock\n 01244 * APB1ENR RTCAPBEN LL_APB1_GRP1_IsEnabledClock 01245 * @param Periphs This parameter can be a combination of the following values: 01246 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01247 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01248 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01249 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01250 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01251 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01252 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01253 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01254 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01255 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01256 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01257 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01258 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01259 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01260 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01261 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01262 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01263 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01264 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01265 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01266 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01267 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01268 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01269 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01270 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01271 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01272 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01273 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01274 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01275 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01276 * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) 01277 * 01278 * (*) value not defined in all devices. 01279 * @retval State of Periphs (1 or 0). 01280 */ 01281 __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs) 01282 { 01283 return (READ_BIT(RCC->APB1ENR, Periphs) == Periphs); 01284 } 01285 01286 /** 01287 * @brief Disable APB1 peripherals clock. 01288 * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_DisableClock\n 01289 * APB1ENR TIM3EN LL_APB1_GRP1_DisableClock\n 01290 * APB1ENR TIM4EN LL_APB1_GRP1_DisableClock\n 01291 * APB1ENR TIM5EN LL_APB1_GRP1_DisableClock\n 01292 * APB1ENR TIM6EN LL_APB1_GRP1_DisableClock\n 01293 * APB1ENR TIM7EN LL_APB1_GRP1_DisableClock\n 01294 * APB1ENR TIM12EN LL_APB1_GRP1_DisableClock\n 01295 * APB1ENR TIM13EN LL_APB1_GRP1_DisableClock\n 01296 * APB1ENR TIM14EN LL_APB1_GRP1_DisableClock\n 01297 * APB1ENR LPTIM1EN LL_APB1_GRP1_DisableClock\n 01298 * APB1ENR WWDGEN LL_APB1_GRP1_DisableClock\n 01299 * APB1ENR SPI2EN LL_APB1_GRP1_DisableClock\n 01300 * APB1ENR SPI3EN LL_APB1_GRP1_DisableClock\n 01301 * APB1ENR SPDIFRXEN LL_APB1_GRP1_DisableClock\n 01302 * APB1ENR USART2EN LL_APB1_GRP1_DisableClock\n 01303 * APB1ENR USART3EN LL_APB1_GRP1_DisableClock\n 01304 * APB1ENR UART4EN LL_APB1_GRP1_DisableClock\n 01305 * APB1ENR UART5EN LL_APB1_GRP1_DisableClock\n 01306 * APB1ENR I2C1EN LL_APB1_GRP1_DisableClock\n 01307 * APB1ENR I2C2EN LL_APB1_GRP1_DisableClock\n 01308 * APB1ENR I2C3EN LL_APB1_GRP1_DisableClock\n 01309 * APB1ENR FMPI2C1EN LL_APB1_GRP1_DisableClock\n 01310 * APB1ENR CAN1EN LL_APB1_GRP1_DisableClock\n 01311 * APB1ENR CAN2EN LL_APB1_GRP1_DisableClock\n 01312 * APB1ENR CAN3EN LL_APB1_GRP1_DisableClock\n 01313 * APB1ENR CECEN LL_APB1_GRP1_DisableClock\n 01314 * APB1ENR PWREN LL_APB1_GRP1_DisableClock\n 01315 * APB1ENR DACEN LL_APB1_GRP1_DisableClock\n 01316 * APB1ENR UART7EN LL_APB1_GRP1_DisableClock\n 01317 * APB1ENR UART8EN LL_APB1_GRP1_DisableClock\n 01318 * APB1ENR RTCAPBEN LL_APB1_GRP1_DisableClock 01319 * @param Periphs This parameter can be a combination of the following values: 01320 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01321 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01322 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01323 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01324 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01325 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01326 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01327 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01328 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01329 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01330 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01331 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01332 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01333 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01334 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01335 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01336 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01337 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01338 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01339 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01340 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01341 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01342 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01343 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01344 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01345 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01346 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01347 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01348 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01349 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01350 * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) 01351 * 01352 * (*) value not defined in all devices. 01353 * @retval None 01354 */ 01355 __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs) 01356 { 01357 CLEAR_BIT(RCC->APB1ENR, Periphs); 01358 } 01359 01360 /** 01361 * @brief Force APB1 peripherals reset. 01362 * @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ForceReset\n 01363 * APB1RSTR TIM3RST LL_APB1_GRP1_ForceReset\n 01364 * APB1RSTR TIM4RST LL_APB1_GRP1_ForceReset\n 01365 * APB1RSTR TIM5RST LL_APB1_GRP1_ForceReset\n 01366 * APB1RSTR TIM6RST LL_APB1_GRP1_ForceReset\n 01367 * APB1RSTR TIM7RST LL_APB1_GRP1_ForceReset\n 01368 * APB1RSTR TIM12RST LL_APB1_GRP1_ForceReset\n 01369 * APB1RSTR TIM13RST LL_APB1_GRP1_ForceReset\n 01370 * APB1RSTR TIM14RST LL_APB1_GRP1_ForceReset\n 01371 * APB1RSTR LPTIM1RST LL_APB1_GRP1_ForceReset\n 01372 * APB1RSTR WWDGRST LL_APB1_GRP1_ForceReset\n 01373 * APB1RSTR SPI2RST LL_APB1_GRP1_ForceReset\n 01374 * APB1RSTR SPI3RST LL_APB1_GRP1_ForceReset\n 01375 * APB1RSTR SPDIFRXRST LL_APB1_GRP1_ForceReset\n 01376 * APB1RSTR USART2RST LL_APB1_GRP1_ForceReset\n 01377 * APB1RSTR USART3RST LL_APB1_GRP1_ForceReset\n 01378 * APB1RSTR UART4RST LL_APB1_GRP1_ForceReset\n 01379 * APB1RSTR UART5RST LL_APB1_GRP1_ForceReset\n 01380 * APB1RSTR I2C1RST LL_APB1_GRP1_ForceReset\n 01381 * APB1RSTR I2C2RST LL_APB1_GRP1_ForceReset\n 01382 * APB1RSTR I2C3RST LL_APB1_GRP1_ForceReset\n 01383 * APB1RSTR FMPI2C1RST LL_APB1_GRP1_ForceReset\n 01384 * APB1RSTR CAN1RST LL_APB1_GRP1_ForceReset\n 01385 * APB1RSTR CAN2RST LL_APB1_GRP1_ForceReset\n 01386 * APB1RSTR CAN3RST LL_APB1_GRP1_ForceReset\n 01387 * APB1RSTR CECRST LL_APB1_GRP1_ForceReset\n 01388 * APB1RSTR PWRRST LL_APB1_GRP1_ForceReset\n 01389 * APB1RSTR DACRST LL_APB1_GRP1_ForceReset\n 01390 * APB1RSTR UART7RST LL_APB1_GRP1_ForceReset\n 01391 * APB1RSTR UART8RST LL_APB1_GRP1_ForceReset 01392 * @param Periphs This parameter can be a combination of the following values: 01393 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01394 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01395 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01396 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01397 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01398 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01399 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01400 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01401 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01402 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01403 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01404 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01405 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01406 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01407 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01408 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01409 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01410 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01411 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01412 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01413 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01414 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01415 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01416 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01417 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01418 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01419 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01420 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01421 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01422 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01423 * 01424 * (*) value not defined in all devices. 01425 * @retval None 01426 */ 01427 __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs) 01428 { 01429 SET_BIT(RCC->APB1RSTR, Periphs); 01430 } 01431 01432 /** 01433 * @brief Release APB1 peripherals reset. 01434 * @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ReleaseReset\n 01435 * APB1RSTR TIM3RST LL_APB1_GRP1_ReleaseReset\n 01436 * APB1RSTR TIM4RST LL_APB1_GRP1_ReleaseReset\n 01437 * APB1RSTR TIM5RST LL_APB1_GRP1_ReleaseReset\n 01438 * APB1RSTR TIM6RST LL_APB1_GRP1_ReleaseReset\n 01439 * APB1RSTR TIM7RST LL_APB1_GRP1_ReleaseReset\n 01440 * APB1RSTR TIM12RST LL_APB1_GRP1_ReleaseReset\n 01441 * APB1RSTR TIM13RST LL_APB1_GRP1_ReleaseReset\n 01442 * APB1RSTR TIM14RST LL_APB1_GRP1_ReleaseReset\n 01443 * APB1RSTR LPTIM1RST LL_APB1_GRP1_ReleaseReset\n 01444 * APB1RSTR WWDGRST LL_APB1_GRP1_ReleaseReset\n 01445 * APB1RSTR SPI2RST LL_APB1_GRP1_ReleaseReset\n 01446 * APB1RSTR SPI3RST LL_APB1_GRP1_ReleaseReset\n 01447 * APB1RSTR SPDIFRXRST LL_APB1_GRP1_ReleaseReset\n 01448 * APB1RSTR USART2RST LL_APB1_GRP1_ReleaseReset\n 01449 * APB1RSTR USART3RST LL_APB1_GRP1_ReleaseReset\n 01450 * APB1RSTR UART4RST LL_APB1_GRP1_ReleaseReset\n 01451 * APB1RSTR UART5RST LL_APB1_GRP1_ReleaseReset\n 01452 * APB1RSTR I2C1RST LL_APB1_GRP1_ReleaseReset\n 01453 * APB1RSTR I2C2RST LL_APB1_GRP1_ReleaseReset\n 01454 * APB1RSTR I2C3RST LL_APB1_GRP1_ReleaseReset\n 01455 * APB1RSTR FMPI2C1RST LL_APB1_GRP1_ReleaseReset\n 01456 * APB1RSTR CAN1RST LL_APB1_GRP1_ReleaseReset\n 01457 * APB1RSTR CAN2RST LL_APB1_GRP1_ReleaseReset\n 01458 * APB1RSTR CAN3RST LL_APB1_GRP1_ReleaseReset\n 01459 * APB1RSTR CECRST LL_APB1_GRP1_ReleaseReset\n 01460 * APB1RSTR PWRRST LL_APB1_GRP1_ReleaseReset\n 01461 * APB1RSTR DACRST LL_APB1_GRP1_ReleaseReset\n 01462 * APB1RSTR UART7RST LL_APB1_GRP1_ReleaseReset\n 01463 * APB1RSTR UART8RST LL_APB1_GRP1_ReleaseReset 01464 * @param Periphs This parameter can be a combination of the following values: 01465 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01466 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01467 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01468 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01469 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01470 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01471 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01472 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01473 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01474 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01475 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01476 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01477 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01478 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01479 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01480 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01481 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01482 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01483 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01484 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01485 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01486 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01487 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01488 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01489 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01490 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01491 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01492 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01493 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01494 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01495 * 01496 * (*) value not defined in all devices. 01497 * @retval None 01498 */ 01499 __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs) 01500 { 01501 CLEAR_BIT(RCC->APB1RSTR, Periphs); 01502 } 01503 01504 /** 01505 * @brief Enable APB1 peripheral clocks in low-power mode 01506 * @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_EnableClockLowPower\n 01507 * APB1LPENR TIM3LPEN LL_APB1_GRP1_EnableClockLowPower\n 01508 * APB1LPENR TIM4LPEN LL_APB1_GRP1_EnableClockLowPower\n 01509 * APB1LPENR TIM5LPEN LL_APB1_GRP1_EnableClockLowPower\n 01510 * APB1LPENR TIM6LPEN LL_APB1_GRP1_EnableClockLowPower\n 01511 * APB1LPENR TIM7LPEN LL_APB1_GRP1_EnableClockLowPower\n 01512 * APB1LPENR TIM12LPEN LL_APB1_GRP1_EnableClockLowPower\n 01513 * APB1LPENR TIM13LPEN LL_APB1_GRP1_EnableClockLowPower\n 01514 * APB1LPENR TIM14LPEN LL_APB1_GRP1_EnableClockLowPower\n 01515 * APB1LPENR LPTIM1LPEN LL_APB1_GRP1_EnableClockLowPower\n 01516 * APB1LPENR WWDGLPEN LL_APB1_GRP1_EnableClockLowPower\n 01517 * APB1LPENR SPI2LPEN LL_APB1_GRP1_EnableClockLowPower\n 01518 * APB1LPENR SPI3LPEN LL_APB1_GRP1_EnableClockLowPower\n 01519 * APB1LPENR SPDIFRXLPEN LL_APB1_GRP1_EnableClockLowPower\n 01520 * APB1LPENR USART2LPEN LL_APB1_GRP1_EnableClockLowPower\n 01521 * APB1LPENR USART3LPEN LL_APB1_GRP1_EnableClockLowPower\n 01522 * APB1LPENR UART4LPEN LL_APB1_GRP1_EnableClockLowPower\n 01523 * APB1LPENR UART5LPEN LL_APB1_GRP1_EnableClockLowPower\n 01524 * APB1LPENR I2C1LPEN LL_APB1_GRP1_EnableClockLowPower\n 01525 * APB1LPENR I2C2LPEN LL_APB1_GRP1_EnableClockLowPower\n 01526 * APB1LPENR I2C3LPEN LL_APB1_GRP1_EnableClockLowPower\n 01527 * APB1LPENR FMPI2C1LPEN LL_APB1_GRP1_EnableClockLowPower\n 01528 * APB1LPENR CAN1LPEN LL_APB1_GRP1_EnableClockLowPower\n 01529 * APB1LPENR CAN2LPEN LL_APB1_GRP1_EnableClockLowPower\n 01530 * APB1LPENR CAN3LPEN LL_APB1_GRP1_EnableClockLowPower\n 01531 * APB1LPENR CECLPEN LL_APB1_GRP1_EnableClockLowPower\n 01532 * APB1LPENR PWRLPEN LL_APB1_GRP1_EnableClockLowPower\n 01533 * APB1LPENR DACLPEN LL_APB1_GRP1_EnableClockLowPower\n 01534 * APB1LPENR UART7LPEN LL_APB1_GRP1_EnableClockLowPower\n 01535 * APB1LPENR UART8LPEN LL_APB1_GRP1_EnableClockLowPower\n 01536 * APB1LPENR RTCAPBLPEN LL_APB1_GRP1_EnableClockLowPower 01537 * @param Periphs This parameter can be a combination of the following values: 01538 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01539 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01540 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01541 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01542 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01543 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01544 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01545 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01546 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01547 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01548 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01549 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01550 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01551 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01552 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01553 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01554 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01555 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01556 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01557 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01558 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01559 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01560 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01561 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01562 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01563 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01564 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01565 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01566 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01567 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01568 * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) 01569 * 01570 * (*) value not defined in all devices. 01571 * @retval None 01572 */ 01573 __STATIC_INLINE void LL_APB1_GRP1_EnableClockLowPower(uint32_t Periphs) 01574 { 01575 __IO uint32_t tmpreg; 01576 SET_BIT(RCC->APB1LPENR, Periphs); 01577 /* Delay after an RCC peripheral clock enabling */ 01578 tmpreg = READ_BIT(RCC->APB1LPENR, Periphs); 01579 (void)tmpreg; 01580 } 01581 01582 /** 01583 * @brief Disable APB1 peripheral clocks in low-power mode 01584 * @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_DisableClockLowPower\n 01585 * APB1LPENR TIM3LPEN LL_APB1_GRP1_DisableClockLowPower\n 01586 * APB1LPENR TIM4LPEN LL_APB1_GRP1_DisableClockLowPower\n 01587 * APB1LPENR TIM5LPEN LL_APB1_GRP1_DisableClockLowPower\n 01588 * APB1LPENR TIM6LPEN LL_APB1_GRP1_DisableClockLowPower\n 01589 * APB1LPENR TIM7LPEN LL_APB1_GRP1_DisableClockLowPower\n 01590 * APB1LPENR TIM12LPEN LL_APB1_GRP1_DisableClockLowPower\n 01591 * APB1LPENR TIM13LPEN LL_APB1_GRP1_DisableClockLowPower\n 01592 * APB1LPENR TIM14LPEN LL_APB1_GRP1_DisableClockLowPower\n 01593 * APB1LPENR LPTIM1LPEN LL_APB1_GRP1_DisableClockLowPower\n 01594 * APB1LPENR WWDGLPEN LL_APB1_GRP1_DisableClockLowPower\n 01595 * APB1LPENR SPI2LPEN LL_APB1_GRP1_DisableClockLowPower\n 01596 * APB1LPENR SPI3LPEN LL_APB1_GRP1_DisableClockLowPower\n 01597 * APB1LPENR SPDIFRXLPEN LL_APB1_GRP1_DisableClockLowPower\n 01598 * APB1LPENR USART2LPEN LL_APB1_GRP1_DisableClockLowPower\n 01599 * APB1LPENR USART3LPEN LL_APB1_GRP1_DisableClockLowPower\n 01600 * APB1LPENR UART4LPEN LL_APB1_GRP1_DisableClockLowPower\n 01601 * APB1LPENR UART5LPEN LL_APB1_GRP1_DisableClockLowPower\n 01602 * APB1LPENR I2C1LPEN LL_APB1_GRP1_DisableClockLowPower\n 01603 * APB1LPENR I2C2LPEN LL_APB1_GRP1_DisableClockLowPower\n 01604 * APB1LPENR I2C3LPEN LL_APB1_GRP1_DisableClockLowPower\n 01605 * APB1LPENR FMPI2C1LPEN LL_APB1_GRP1_DisableClockLowPower\n 01606 * APB1LPENR CAN1LPEN LL_APB1_GRP1_DisableClockLowPower\n 01607 * APB1LPENR CAN2LPEN LL_APB1_GRP1_DisableClockLowPower\n 01608 * APB1LPENR CAN3LPEN LL_APB1_GRP1_DisableClockLowPower\n 01609 * APB1LPENR CECLPEN LL_APB1_GRP1_DisableClockLowPower\n 01610 * APB1LPENR PWRLPEN LL_APB1_GRP1_DisableClockLowPower\n 01611 * APB1LPENR DACLPEN LL_APB1_GRP1_DisableClockLowPower\n 01612 * APB1LPENR UART7LPEN LL_APB1_GRP1_DisableClockLowPower\n 01613 * APB1LPENR UART8LPEN LL_APB1_GRP1_DisableClockLowPower\n 01614 * APB1LPENR RTCAPBLPEN LL_APB1_GRP1_DisableClockLowPower 01615 * @param Periphs This parameter can be a combination of the following values: 01616 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 (*) 01617 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 (*) 01618 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 (*) 01619 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5 01620 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 (*) 01621 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 (*) 01622 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 (*) 01623 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 (*) 01624 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 (*) 01625 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 (*) 01626 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 01627 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 (*) 01628 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 (*) 01629 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 01630 * @arg @ref LL_APB1_GRP1_PERIPH_USART2 01631 * @arg @ref LL_APB1_GRP1_PERIPH_USART3 (*) 01632 * @arg @ref LL_APB1_GRP1_PERIPH_UART4 (*) 01633 * @arg @ref LL_APB1_GRP1_PERIPH_UART5 (*) 01634 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 01635 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 01636 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 (*) 01637 * @arg @ref LL_APB1_GRP1_PERIPH_FMPI2C1 (*) 01638 * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 (*) 01639 * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 01640 * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 01641 * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) 01642 * @arg @ref LL_APB1_GRP1_PERIPH_PWR 01643 * @arg @ref LL_APB1_GRP1_PERIPH_DAC1 (*) 01644 * @arg @ref LL_APB1_GRP1_PERIPH_UART7 (*) 01645 * @arg @ref LL_APB1_GRP1_PERIPH_UART8 (*) 01646 * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) 01647 * 01648 * (*) value not defined in all devices. 01649 * @retval None 01650 */ 01651 __STATIC_INLINE void LL_APB1_GRP1_DisableClockLowPower(uint32_t Periphs) 01652 { 01653 CLEAR_BIT(RCC->APB1LPENR, Periphs); 01654 } 01655 01656 /** 01657 * @} 01658 */ 01659 01660 /** @defgroup BUS_LL_EF_APB2 APB2 01661 * @{ 01662 */ 01663 01664 /** 01665 * @brief Enable APB2 peripherals clock. 01666 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_EnableClock\n 01667 * APB2ENR TIM8EN LL_APB2_GRP1_EnableClock\n 01668 * APB2ENR USART1EN LL_APB2_GRP1_EnableClock\n 01669 * APB2ENR USART6EN LL_APB2_GRP1_EnableClock\n 01670 * APB2ENR UART9EN LL_APB2_GRP1_EnableClock\n 01671 * APB2ENR UART10EN LL_APB2_GRP1_EnableClock\n 01672 * APB2ENR ADC1EN LL_APB2_GRP1_EnableClock\n 01673 * APB2ENR ADC2EN LL_APB2_GRP1_EnableClock\n 01674 * APB2ENR ADC3EN LL_APB2_GRP1_EnableClock\n 01675 * APB2ENR SDIOEN LL_APB2_GRP1_EnableClock\n 01676 * APB2ENR SPI1EN LL_APB2_GRP1_EnableClock\n 01677 * APB2ENR SPI4EN LL_APB2_GRP1_EnableClock\n 01678 * APB2ENR SYSCFGEN LL_APB2_GRP1_EnableClock\n 01679 * APB2ENR EXTITEN LL_APB2_GRP1_EnableClock\n 01680 * APB2ENR TIM9EN LL_APB2_GRP1_EnableClock\n 01681 * APB2ENR TIM10EN LL_APB2_GRP1_EnableClock\n 01682 * APB2ENR TIM11EN LL_APB2_GRP1_EnableClock\n 01683 * APB2ENR SPI5EN LL_APB2_GRP1_EnableClock\n 01684 * APB2ENR SPI6EN LL_APB2_GRP1_EnableClock\n 01685 * APB2ENR SAI1EN LL_APB2_GRP1_EnableClock\n 01686 * APB2ENR SAI2EN LL_APB2_GRP1_EnableClock\n 01687 * APB2ENR LTDCEN LL_APB2_GRP1_EnableClock\n 01688 * APB2ENR DSIEN LL_APB2_GRP1_EnableClock\n 01689 * APB2ENR DFSDM1EN LL_APB2_GRP1_EnableClock\n 01690 * APB2ENR DFSDM2EN LL_APB2_GRP1_EnableClock 01691 * @param Periphs This parameter can be a combination of the following values: 01692 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 01693 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 01694 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 01695 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 01696 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 01697 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 01698 * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 01699 * @arg @ref LL_APB2_GRP1_PERIPH_ADC2 (*) 01700 * @arg @ref LL_APB2_GRP1_PERIPH_ADC3 (*) 01701 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 01702 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 01703 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 01704 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 01705 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 01706 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 01707 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 01708 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 01709 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 01710 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 01711 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 01712 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 01713 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 01714 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 01715 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 01716 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 01717 01718 * 01719 * (*) value not defined in all devices. 01720 * @retval None 01721 */ 01722 __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs) 01723 { 01724 __IO uint32_t tmpreg; 01725 SET_BIT(RCC->APB2ENR, Periphs); 01726 /* Delay after an RCC peripheral clock enabling */ 01727 tmpreg = READ_BIT(RCC->APB2ENR, Periphs); 01728 (void)tmpreg; 01729 } 01730 01731 /** 01732 * @brief Check if APB2 peripheral clock is enabled or not 01733 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_IsEnabledClock\n 01734 * APB2ENR TIM8EN LL_APB2_GRP1_IsEnabledClock\n 01735 * APB2ENR USART1EN LL_APB2_GRP1_IsEnabledClock\n 01736 * APB2ENR USART6EN LL_APB2_GRP1_IsEnabledClock\n 01737 * APB2ENR UART9EN LL_APB2_GRP1_IsEnabledClock\n 01738 * APB2ENR UART10EN LL_APB2_GRP1_IsEnabledClock\n 01739 * APB2ENR ADC1EN LL_APB2_GRP1_IsEnabledClock\n 01740 * APB2ENR ADC2EN LL_APB2_GRP1_IsEnabledClock\n 01741 * APB2ENR ADC3EN LL_APB2_GRP1_IsEnabledClock\n 01742 * APB2ENR SDIOEN LL_APB2_GRP1_IsEnabledClock\n 01743 * APB2ENR SPI1EN LL_APB2_GRP1_IsEnabledClock\n 01744 * APB2ENR SPI4EN LL_APB2_GRP1_IsEnabledClock\n 01745 * APB2ENR SYSCFGEN LL_APB2_GRP1_IsEnabledClock\n 01746 * APB2ENR EXTITEN LL_APB2_GRP1_IsEnabledClock\n 01747 * APB2ENR TIM9EN LL_APB2_GRP1_IsEnabledClock\n 01748 * APB2ENR TIM10EN LL_APB2_GRP1_IsEnabledClock\n 01749 * APB2ENR TIM11EN LL_APB2_GRP1_IsEnabledClock\n 01750 * APB2ENR SPI5EN LL_APB2_GRP1_IsEnabledClock\n 01751 * APB2ENR SPI6EN LL_APB2_GRP1_IsEnabledClock\n 01752 * APB2ENR SAI1EN LL_APB2_GRP1_IsEnabledClock\n 01753 * APB2ENR SAI2EN LL_APB2_GRP1_IsEnabledClock\n 01754 * APB2ENR LTDCEN LL_APB2_GRP1_IsEnabledClock\n 01755 * APB2ENR DSIEN LL_APB2_GRP1_IsEnabledClock\n 01756 * APB2ENR DFSDM1EN LL_APB2_GRP1_IsEnabledClock\n 01757 * APB2ENR DFSDM2EN LL_APB2_GRP1_IsEnabledClock 01758 * @param Periphs This parameter can be a combination of the following values: 01759 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 01760 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 01761 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 01762 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 01763 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 01764 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 01765 * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 01766 * @arg @ref LL_APB2_GRP1_PERIPH_ADC2 (*) 01767 * @arg @ref LL_APB2_GRP1_PERIPH_ADC3 (*) 01768 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 01769 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 01770 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 01771 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 01772 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 01773 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 01774 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 01775 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 01776 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 01777 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 01778 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 01779 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 01780 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 01781 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 01782 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 01783 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 01784 * 01785 * (*) value not defined in all devices. 01786 * @retval State of Periphs (1 or 0). 01787 */ 01788 __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs) 01789 { 01790 return (READ_BIT(RCC->APB2ENR, Periphs) == Periphs); 01791 } 01792 01793 /** 01794 * @brief Disable APB2 peripherals clock. 01795 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_DisableClock\n 01796 * APB2ENR TIM8EN LL_APB2_GRP1_DisableClock\n 01797 * APB2ENR USART1EN LL_APB2_GRP1_DisableClock\n 01798 * APB2ENR USART6EN LL_APB2_GRP1_DisableClock\n 01799 * APB2ENR UART9EN LL_APB2_GRP1_DisableClock\n 01800 * APB2ENR UART10EN LL_APB2_GRP1_DisableClock\n 01801 * APB2ENR ADC1EN LL_APB2_GRP1_DisableClock\n 01802 * APB2ENR ADC2EN LL_APB2_GRP1_DisableClock\n 01803 * APB2ENR ADC3EN LL_APB2_GRP1_DisableClock\n 01804 * APB2ENR SDIOEN LL_APB2_GRP1_DisableClock\n 01805 * APB2ENR SPI1EN LL_APB2_GRP1_DisableClock\n 01806 * APB2ENR SPI4EN LL_APB2_GRP1_DisableClock\n 01807 * APB2ENR SYSCFGEN LL_APB2_GRP1_DisableClock\n 01808 * APB2ENR EXTITEN LL_APB2_GRP1_DisableClock\n 01809 * APB2ENR TIM9EN LL_APB2_GRP1_DisableClock\n 01810 * APB2ENR TIM10EN LL_APB2_GRP1_DisableClock\n 01811 * APB2ENR TIM11EN LL_APB2_GRP1_DisableClock\n 01812 * APB2ENR SPI5EN LL_APB2_GRP1_DisableClock\n 01813 * APB2ENR SPI6EN LL_APB2_GRP1_DisableClock\n 01814 * APB2ENR SAI1EN LL_APB2_GRP1_DisableClock\n 01815 * APB2ENR SAI2EN LL_APB2_GRP1_DisableClock\n 01816 * APB2ENR LTDCEN LL_APB2_GRP1_DisableClock\n 01817 * APB2ENR DSIEN LL_APB2_GRP1_DisableClock\n 01818 * APB2ENR DFSDM1EN LL_APB2_GRP1_DisableClock\n 01819 * APB2ENR DFSDM2EN LL_APB2_GRP1_DisableClock 01820 * @param Periphs This parameter can be a combination of the following values: 01821 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 01822 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 01823 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 01824 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 01825 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 01826 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 01827 * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 01828 * @arg @ref LL_APB2_GRP1_PERIPH_ADC2 (*) 01829 * @arg @ref LL_APB2_GRP1_PERIPH_ADC3 (*) 01830 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 01831 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 01832 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 01833 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 01834 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 01835 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 01836 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 01837 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 01838 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 01839 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 01840 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 01841 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 01842 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 01843 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 01844 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 01845 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 01846 * 01847 * (*) value not defined in all devices. 01848 * @retval None 01849 */ 01850 __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs) 01851 { 01852 CLEAR_BIT(RCC->APB2ENR, Periphs); 01853 } 01854 01855 /** 01856 * @brief Force APB2 peripherals reset. 01857 * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ForceReset\n 01858 * APB2RSTR TIM8RST LL_APB2_GRP1_ForceReset\n 01859 * APB2RSTR USART1RST LL_APB2_GRP1_ForceReset\n 01860 * APB2RSTR USART6RST LL_APB2_GRP1_ForceReset\n 01861 * APB2RSTR UART9RST LL_APB2_GRP1_ForceReset\n 01862 * APB2RSTR UART10RST LL_APB2_GRP1_ForceReset\n 01863 * APB2RSTR ADCRST LL_APB2_GRP1_ForceReset\n 01864 * APB2RSTR SDIORST LL_APB2_GRP1_ForceReset\n 01865 * APB2RSTR SPI1RST LL_APB2_GRP1_ForceReset\n 01866 * APB2RSTR SPI4RST LL_APB2_GRP1_ForceReset\n 01867 * APB2RSTR SYSCFGRST LL_APB2_GRP1_ForceReset\n 01868 * APB2RSTR TIM9RST LL_APB2_GRP1_ForceReset\n 01869 * APB2RSTR TIM10RST LL_APB2_GRP1_ForceReset\n 01870 * APB2RSTR TIM11RST LL_APB2_GRP1_ForceReset\n 01871 * APB2RSTR SPI5RST LL_APB2_GRP1_ForceReset\n 01872 * APB2RSTR SPI6RST LL_APB2_GRP1_ForceReset\n 01873 * APB2RSTR SAI1RST LL_APB2_GRP1_ForceReset\n 01874 * APB2RSTR SAI2RST LL_APB2_GRP1_ForceReset\n 01875 * APB2RSTR LTDCRST LL_APB2_GRP1_ForceReset\n 01876 * APB2RSTR DSIRST LL_APB2_GRP1_ForceReset\n 01877 * APB2RSTR DFSDM1RST LL_APB2_GRP1_ForceReset\n 01878 * APB2RSTR DFSDM2RST LL_APB2_GRP1_ForceReset 01879 * @param Periphs This parameter can be a combination of the following values: 01880 * @arg @ref LL_APB2_GRP1_PERIPH_ALL 01881 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 01882 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 01883 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 01884 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 01885 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 01886 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 01887 * @arg @ref LL_APB2_GRP1_PERIPH_ADC 01888 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 01889 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 01890 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 01891 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 01892 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 01893 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 01894 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 01895 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 01896 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 01897 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 01898 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 01899 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 01900 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 01901 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 01902 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 01903 * 01904 * (*) value not defined in all devices. 01905 * @retval None 01906 */ 01907 __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs) 01908 { 01909 SET_BIT(RCC->APB2RSTR, Periphs); 01910 } 01911 01912 /** 01913 * @brief Release APB2 peripherals reset. 01914 * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ReleaseReset\n 01915 * APB2RSTR TIM8RST LL_APB2_GRP1_ReleaseReset\n 01916 * APB2RSTR USART1RST LL_APB2_GRP1_ReleaseReset\n 01917 * APB2RSTR USART6RST LL_APB2_GRP1_ReleaseReset\n 01918 * APB2RSTR UART9RST LL_APB2_GRP1_ReleaseReset\n 01919 * APB2RSTR UART10RST LL_APB2_GRP1_ReleaseReset\n 01920 * APB2RSTR ADCRST LL_APB2_GRP1_ReleaseReset\n 01921 * APB2RSTR SDIORST LL_APB2_GRP1_ReleaseReset\n 01922 * APB2RSTR SPI1RST LL_APB2_GRP1_ReleaseReset\n 01923 * APB2RSTR SPI4RST LL_APB2_GRP1_ReleaseReset\n 01924 * APB2RSTR SYSCFGRST LL_APB2_GRP1_ReleaseReset\n 01925 * APB2RSTR TIM9RST LL_APB2_GRP1_ReleaseReset\n 01926 * APB2RSTR TIM10RST LL_APB2_GRP1_ReleaseReset\n 01927 * APB2RSTR TIM11RST LL_APB2_GRP1_ReleaseReset\n 01928 * APB2RSTR SPI5RST LL_APB2_GRP1_ReleaseReset\n 01929 * APB2RSTR SPI6RST LL_APB2_GRP1_ReleaseReset\n 01930 * APB2RSTR SAI1RST LL_APB2_GRP1_ReleaseReset\n 01931 * APB2RSTR SAI2RST LL_APB2_GRP1_ReleaseReset\n 01932 * APB2RSTR LTDCRST LL_APB2_GRP1_ReleaseReset\n 01933 * APB2RSTR DSIRST LL_APB2_GRP1_ReleaseReset\n 01934 * APB2RSTR DFSDM1RST LL_APB2_GRP1_ReleaseReset\n 01935 * APB2RSTR DFSDM2RST LL_APB2_GRP1_ReleaseReset 01936 * @param Periphs This parameter can be a combination of the following values: 01937 * @arg @ref LL_APB2_GRP1_PERIPH_ALL 01938 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 01939 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 01940 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 01941 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 01942 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 01943 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 01944 * @arg @ref LL_APB2_GRP1_PERIPH_ADC 01945 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 01946 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 01947 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 01948 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 01949 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 01950 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 01951 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 01952 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 01953 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 01954 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 01955 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 01956 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 01957 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 01958 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 01959 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 01960 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 01961 * 01962 * (*) value not defined in all devices. 01963 * @retval None 01964 */ 01965 __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs) 01966 { 01967 CLEAR_BIT(RCC->APB2RSTR, Periphs); 01968 } 01969 01970 /** 01971 * @brief Enable APB2 peripheral clocks in low-power mode 01972 * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01973 * APB2LPENR TIM8LPEN LL_APB2_GRP1_EnableClockLowPower\n 01974 * APB2LPENR USART1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01975 * APB2LPENR USART6LPEN LL_APB2_GRP1_EnableClockLowPower\n 01976 * APB2LPENR UART9LPEN LL_APB2_GRP1_EnableClockLowPower\n 01977 * APB2LPENR UART10LPEN LL_APB2_GRP1_EnableClockLowPower\n 01978 * APB2LPENR ADC1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01979 * APB2LPENR ADC2LPEN LL_APB2_GRP1_EnableClockLowPower\n 01980 * APB2LPENR ADC3LPEN LL_APB2_GRP1_EnableClockLowPower\n 01981 * APB2LPENR SDIOLPEN LL_APB2_GRP1_EnableClockLowPower\n 01982 * APB2LPENR SPI1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01983 * APB2LPENR SPI4LPEN LL_APB2_GRP1_EnableClockLowPower\n 01984 * APB2LPENR SYSCFGLPEN LL_APB2_GRP1_EnableClockLowPower\n 01985 * APB2LPENR EXTITLPEN LL_APB2_GRP1_EnableClockLowPower\n 01986 * APB2LPENR TIM9LPEN LL_APB2_GRP1_EnableClockLowPower\n 01987 * APB2LPENR TIM10LPEN LL_APB2_GRP1_EnableClockLowPower\n 01988 * APB2LPENR TIM11LPEN LL_APB2_GRP1_EnableClockLowPower\n 01989 * APB2LPENR SPI5LPEN LL_APB2_GRP1_EnableClockLowPower\n 01990 * APB2LPENR SPI6LPEN LL_APB2_GRP1_EnableClockLowPower\n 01991 * APB2LPENR SAI1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01992 * APB2LPENR SAI2LPEN LL_APB2_GRP1_EnableClockLowPower\n 01993 * APB2LPENR LTDCLPEN LL_APB2_GRP1_EnableClockLowPower\n 01994 * APB2LPENR DSILPEN LL_APB2_GRP1_EnableClockLowPower\n 01995 * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_EnableClockLowPower\n 01996 * APB2LPENR DSILPEN LL_APB2_GRP1_EnableClockLowPower\n 01997 * APB2LPENR DFSDM2LPEN LL_APB2_GRP1_EnableClockLowPower 01998 * @param Periphs This parameter can be a combination of the following values: 01999 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 02000 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 02001 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 02002 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 02003 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 02004 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 02005 * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 02006 * @arg @ref LL_APB2_GRP1_PERIPH_ADC2 (*) 02007 * @arg @ref LL_APB2_GRP1_PERIPH_ADC3 (*) 02008 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 02009 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 02010 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 02011 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 02012 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 02013 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 02014 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 02015 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 02016 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 02017 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 02018 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 02019 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 02020 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 02021 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 02022 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 02023 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 02024 * 02025 * (*) value not defined in all devices. 02026 * @retval None 02027 */ 02028 __STATIC_INLINE void LL_APB2_GRP1_EnableClockLowPower(uint32_t Periphs) 02029 { 02030 __IO uint32_t tmpreg; 02031 SET_BIT(RCC->APB2LPENR, Periphs); 02032 /* Delay after an RCC peripheral clock enabling */ 02033 tmpreg = READ_BIT(RCC->APB2LPENR, Periphs); 02034 (void)tmpreg; 02035 } 02036 02037 /** 02038 * @brief Disable APB2 peripheral clocks in low-power mode 02039 * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02040 * APB2LPENR TIM8LPEN LL_APB2_GRP1_DisableClockLowPower\n 02041 * APB2LPENR USART1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02042 * APB2LPENR USART6LPEN LL_APB2_GRP1_DisableClockLowPower\n 02043 * APB2LPENR UART9LPEN LL_APB2_GRP1_DisableClockLowPower\n 02044 * APB2LPENR UART10LPEN LL_APB2_GRP1_DisableClockLowPower\n 02045 * APB2LPENR ADC1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02046 * APB2LPENR ADC2LPEN LL_APB2_GRP1_DisableClockLowPower\n 02047 * APB2LPENR ADC3LPEN LL_APB2_GRP1_DisableClockLowPower\n 02048 * APB2LPENR SDIOLPEN LL_APB2_GRP1_DisableClockLowPower\n 02049 * APB2LPENR SPI1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02050 * APB2LPENR SPI4LPEN LL_APB2_GRP1_DisableClockLowPower\n 02051 * APB2LPENR SYSCFGLPEN LL_APB2_GRP1_DisableClockLowPower\n 02052 * APB2LPENR EXTITLPEN LL_APB2_GRP1_DisableClockLowPower\n 02053 * APB2LPENR TIM9LPEN LL_APB2_GRP1_DisableClockLowPower\n 02054 * APB2LPENR TIM10LPEN LL_APB2_GRP1_DisableClockLowPower\n 02055 * APB2LPENR TIM11LPEN LL_APB2_GRP1_DisableClockLowPower\n 02056 * APB2LPENR SPI5LPEN LL_APB2_GRP1_DisableClockLowPower\n 02057 * APB2LPENR SPI6LPEN LL_APB2_GRP1_DisableClockLowPower\n 02058 * APB2LPENR SAI1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02059 * APB2LPENR SAI2LPEN LL_APB2_GRP1_DisableClockLowPower\n 02060 * APB2LPENR LTDCLPEN LL_APB2_GRP1_DisableClockLowPower\n 02061 * APB2LPENR DSILPEN LL_APB2_GRP1_DisableClockLowPower\n 02062 * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_DisableClockLowPower\n 02063 * APB2LPENR DSILPEN LL_APB2_GRP1_DisableClockLowPower\n 02064 * APB2LPENR DFSDM2LPEN LL_APB2_GRP1_DisableClockLowPower 02065 * @param Periphs This parameter can be a combination of the following values: 02066 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 02067 * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 (*) 02068 * @arg @ref LL_APB2_GRP1_PERIPH_USART1 02069 * @arg @ref LL_APB2_GRP1_PERIPH_USART6 (*) 02070 * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*) 02071 * @arg @ref LL_APB2_GRP1_PERIPH_UART10 (*) 02072 * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 02073 * @arg @ref LL_APB2_GRP1_PERIPH_ADC2 (*) 02074 * @arg @ref LL_APB2_GRP1_PERIPH_ADC3 (*) 02075 * @arg @ref LL_APB2_GRP1_PERIPH_SDIO (*) 02076 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1 02077 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4 (*) 02078 * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG 02079 * @arg @ref LL_APB2_GRP1_PERIPH_EXTI (*) 02080 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9 02081 * @arg @ref LL_APB2_GRP1_PERIPH_TIM10 (*) 02082 * @arg @ref LL_APB2_GRP1_PERIPH_TIM11 02083 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5 (*) 02084 * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*) 02085 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) 02086 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*) 02087 * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*) 02088 * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*) 02089 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*) 02090 * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM2 (*) 02091 * 02092 * (*) value not defined in all devices. 02093 * @retval None 02094 */ 02095 __STATIC_INLINE void LL_APB2_GRP1_DisableClockLowPower(uint32_t Periphs) 02096 { 02097 CLEAR_BIT(RCC->APB2LPENR, Periphs); 02098 } 02099 02100 /** 02101 * @} 02102 */ 02103 02104 /** 02105 * @} 02106 */ 02107 02108 /** 02109 * @} 02110 */ 02111 02112 #endif /* defined(RCC) */ 02113 02114 /** 02115 * @} 02116 */ 02117 02118 #ifdef __cplusplus 02119 } 02120 #endif 02121 02122 #endif /* __STM32F4xx_LL_BUS_H */ 02123 02124 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/