DIY Logging Volt/Ampmeter
|
Go to the documentation of this file.
21 #ifndef __STM32F1xx_HAL_RCC_EX_H
22 #define __STM32F1xx_HAL_RCC_EX_H
43 #if defined(STM32F105xC) || defined(STM32F107xC)
46 #define PLLI2SON_BITNUMBER RCC_CR_PLL3ON_Pos
47 #define RCC_CR_PLLI2SON_BB ((uint32_t)(PERIPH_BB_BASE + (RCC_CR_OFFSET_BB * 32U) + (PLLI2SON_BITNUMBER * 4U)))
49 #define PLL2ON_BITNUMBER RCC_CR_PLL2ON_Pos
50 #define RCC_CR_PLL2ON_BB ((uint32_t)(PERIPH_BB_BASE + (RCC_CR_OFFSET_BB * 32U) + (PLL2ON_BITNUMBER * 4U)))
52 #define PLLI2S_TIMEOUT_VALUE 100U
53 #define PLL2_TIMEOUT_VALUE 100U
58 #define CR_REG_INDEX ((uint8_t)1)
68 #if defined(STM32F105xC) || defined(STM32F107xC)
69 #define IS_RCC_PREDIV1_SOURCE(__SOURCE__) (((__SOURCE__) == RCC_PREDIV1_SOURCE_HSE) || \
70 ((__SOURCE__) == RCC_PREDIV1_SOURCE_PLL2))
73 #if defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F100xB)\
74 || defined(STM32F100xE)
75 #define IS_RCC_HSE_PREDIV(__DIV__) (((__DIV__) == RCC_HSE_PREDIV_DIV1) || ((__DIV__) == RCC_HSE_PREDIV_DIV2) || \
76 ((__DIV__) == RCC_HSE_PREDIV_DIV3) || ((__DIV__) == RCC_HSE_PREDIV_DIV4) || \
77 ((__DIV__) == RCC_HSE_PREDIV_DIV5) || ((__DIV__) == RCC_HSE_PREDIV_DIV6) || \
78 ((__DIV__) == RCC_HSE_PREDIV_DIV7) || ((__DIV__) == RCC_HSE_PREDIV_DIV8) || \
79 ((__DIV__) == RCC_HSE_PREDIV_DIV9) || ((__DIV__) == RCC_HSE_PREDIV_DIV10) || \
80 ((__DIV__) == RCC_HSE_PREDIV_DIV11) || ((__DIV__) == RCC_HSE_PREDIV_DIV12) || \
81 ((__DIV__) == RCC_HSE_PREDIV_DIV13) || ((__DIV__) == RCC_HSE_PREDIV_DIV14) || \
82 ((__DIV__) == RCC_HSE_PREDIV_DIV15) || ((__DIV__) == RCC_HSE_PREDIV_DIV16))
85 #define IS_RCC_HSE_PREDIV(__DIV__) (((__DIV__) == RCC_HSE_PREDIV_DIV1) || ((__DIV__) == RCC_HSE_PREDIV_DIV2))
88 #if defined(STM32F105xC) || defined(STM32F107xC)
89 #define IS_RCC_PLL_MUL(__MUL__) (((__MUL__) == RCC_PLL_MUL4) || ((__MUL__) == RCC_PLL_MUL5) || \
90 ((__MUL__) == RCC_PLL_MUL6) || ((__MUL__) == RCC_PLL_MUL7) || \
91 ((__MUL__) == RCC_PLL_MUL8) || ((__MUL__) == RCC_PLL_MUL9) || \
92 ((__MUL__) == RCC_PLL_MUL6_5))
94 #define IS_RCC_MCO1SOURCE(__SOURCE__) (((__SOURCE__) == RCC_MCO1SOURCE_SYSCLK) || ((__SOURCE__) == RCC_MCO1SOURCE_HSI) \
95 || ((__SOURCE__) == RCC_MCO1SOURCE_HSE) || ((__SOURCE__) == RCC_MCO1SOURCE_PLLCLK) \
96 || ((__SOURCE__) == RCC_MCO1SOURCE_PLL2CLK) || ((__SOURCE__) == RCC_MCO1SOURCE_PLL3CLK) \
97 || ((__SOURCE__) == RCC_MCO1SOURCE_PLL3CLK_DIV2) || ((__SOURCE__) == RCC_MCO1SOURCE_EXT_HSE) \
98 || ((__SOURCE__) == RCC_MCO1SOURCE_NOCLOCK))
101 #define IS_RCC_PLL_MUL(__MUL__) (((__MUL__) == RCC_PLL_MUL2) || ((__MUL__) == RCC_PLL_MUL3) || \
102 ((__MUL__) == RCC_PLL_MUL4) || ((__MUL__) == RCC_PLL_MUL5) || \
103 ((__MUL__) == RCC_PLL_MUL6) || ((__MUL__) == RCC_PLL_MUL7) || \
104 ((__MUL__) == RCC_PLL_MUL8) || ((__MUL__) == RCC_PLL_MUL9) || \
105 ((__MUL__) == RCC_PLL_MUL10) || ((__MUL__) == RCC_PLL_MUL11) || \
106 ((__MUL__) == RCC_PLL_MUL12) || ((__MUL__) == RCC_PLL_MUL13) || \
107 ((__MUL__) == RCC_PLL_MUL14) || ((__MUL__) == RCC_PLL_MUL15) || \
108 ((__MUL__) == RCC_PLL_MUL16))
110 #define IS_RCC_MCO1SOURCE(__SOURCE__) (((__SOURCE__) == RCC_MCO1SOURCE_SYSCLK) || ((__SOURCE__) == RCC_MCO1SOURCE_HSI) \
111 || ((__SOURCE__) == RCC_MCO1SOURCE_HSE) || ((__SOURCE__) == RCC_MCO1SOURCE_PLLCLK) \
112 || ((__SOURCE__) == RCC_MCO1SOURCE_NOCLOCK))
116 #define IS_RCC_ADCPLLCLK_DIV(__ADCCLK__) (((__ADCCLK__) == RCC_ADCPCLK2_DIV2) || ((__ADCCLK__) == RCC_ADCPCLK2_DIV4) || \
117 ((__ADCCLK__) == RCC_ADCPCLK2_DIV6) || ((__ADCCLK__) == RCC_ADCPCLK2_DIV8))
119 #if defined(STM32F105xC) || defined(STM32F107xC)
120 #define IS_RCC_I2S2CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_I2S2CLKSOURCE_SYSCLK) || ((__SOURCE__) == RCC_I2S2CLKSOURCE_PLLI2S_VCO))
122 #define IS_RCC_I2S3CLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_I2S3CLKSOURCE_SYSCLK) || ((__SOURCE__) == RCC_I2S3CLKSOURCE_PLLI2S_VCO))
124 #define IS_RCC_USBPLLCLK_DIV(__USBCLK__) (((__USBCLK__) == RCC_USBCLKSOURCE_PLL_DIV2) || ((__USBCLK__) == RCC_USBCLKSOURCE_PLL_DIV3))
126 #define IS_RCC_PLLI2S_MUL(__MUL__) (((__MUL__) == RCC_PLLI2S_MUL8) || ((__MUL__) == RCC_PLLI2S_MUL9) || \
127 ((__MUL__) == RCC_PLLI2S_MUL10) || ((__MUL__) == RCC_PLLI2S_MUL11) || \
128 ((__MUL__) == RCC_PLLI2S_MUL12) || ((__MUL__) == RCC_PLLI2S_MUL13) || \
129 ((__MUL__) == RCC_PLLI2S_MUL14) || ((__MUL__) == RCC_PLLI2S_MUL16) || \
130 ((__MUL__) == RCC_PLLI2S_MUL20))
132 #define IS_RCC_HSE_PREDIV2(__DIV__) (((__DIV__) == RCC_HSE_PREDIV2_DIV1) || ((__DIV__) == RCC_HSE_PREDIV2_DIV2) || \
133 ((__DIV__) == RCC_HSE_PREDIV2_DIV3) || ((__DIV__) == RCC_HSE_PREDIV2_DIV4) || \
134 ((__DIV__) == RCC_HSE_PREDIV2_DIV5) || ((__DIV__) == RCC_HSE_PREDIV2_DIV6) || \
135 ((__DIV__) == RCC_HSE_PREDIV2_DIV7) || ((__DIV__) == RCC_HSE_PREDIV2_DIV8) || \
136 ((__DIV__) == RCC_HSE_PREDIV2_DIV9) || ((__DIV__) == RCC_HSE_PREDIV2_DIV10) || \
137 ((__DIV__) == RCC_HSE_PREDIV2_DIV11) || ((__DIV__) == RCC_HSE_PREDIV2_DIV12) || \
138 ((__DIV__) == RCC_HSE_PREDIV2_DIV13) || ((__DIV__) == RCC_HSE_PREDIV2_DIV14) || \
139 ((__DIV__) == RCC_HSE_PREDIV2_DIV15) || ((__DIV__) == RCC_HSE_PREDIV2_DIV16))
141 #define IS_RCC_PLL2(__PLL__) (((__PLL__) == RCC_PLL2_NONE) || ((__PLL__) == RCC_PLL2_OFF) || \
142 ((__PLL__) == RCC_PLL2_ON))
144 #define IS_RCC_PLL2_MUL(__MUL__) (((__MUL__) == RCC_PLL2_MUL8) || ((__MUL__) == RCC_PLL2_MUL9) || \
145 ((__MUL__) == RCC_PLL2_MUL10) || ((__MUL__) == RCC_PLL2_MUL11) || \
146 ((__MUL__) == RCC_PLL2_MUL12) || ((__MUL__) == RCC_PLL2_MUL13) || \
147 ((__MUL__) == RCC_PLL2_MUL14) || ((__MUL__) == RCC_PLL2_MUL16) || \
148 ((__MUL__) == RCC_PLL2_MUL20))
150 #define IS_RCC_PERIPHCLOCK(__SELECTION__) \
151 ((((__SELECTION__) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) || \
152 (((__SELECTION__) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) || \
153 (((__SELECTION__) & RCC_PERIPHCLK_I2S2) == RCC_PERIPHCLK_I2S2) || \
154 (((__SELECTION__) & RCC_PERIPHCLK_I2S3) == RCC_PERIPHCLK_I2S3) || \
155 (((__SELECTION__) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB))
157 #elif defined(STM32F103xE) || defined(STM32F103xG)
159 #define IS_RCC_I2S2CLKSOURCE(__SOURCE__) ((__SOURCE__) == RCC_I2S2CLKSOURCE_SYSCLK)
161 #define IS_RCC_I2S3CLKSOURCE(__SOURCE__) ((__SOURCE__) == RCC_I2S3CLKSOURCE_SYSCLK)
163 #define IS_RCC_PERIPHCLOCK(__SELECTION__) \
164 ((((__SELECTION__) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) || \
165 (((__SELECTION__) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) || \
166 (((__SELECTION__) & RCC_PERIPHCLK_I2S2) == RCC_PERIPHCLK_I2S2) || \
167 (((__SELECTION__) & RCC_PERIPHCLK_I2S3) == RCC_PERIPHCLK_I2S3) || \
168 (((__SELECTION__) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB))
171 #elif defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
172 || defined(STM32F103xB)
174 #define IS_RCC_PERIPHCLOCK(__SELECTION__) \
175 ((((__SELECTION__) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) || \
176 (((__SELECTION__) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) || \
177 (((__SELECTION__) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB))
181 #define IS_RCC_PERIPHCLOCK(__SELECTION__) \
182 ((((__SELECTION__) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) || \
183 (((__SELECTION__) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC))
187 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
188 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
190 #define IS_RCC_USBPLLCLK_DIV(__USBCLK__) (((__USBCLK__) == RCC_USBCLKSOURCE_PLL) || ((__USBCLK__) == RCC_USBCLKSOURCE_PLL_DIV1_5))
204 #if defined(STM32F105xC) || defined(STM32F107xC)
216 #if defined(STM32F105xC) || defined(STM32F107xC)
217 uint32_t HSEPrediv2Value;
221 } RCC_PLL2InitTypeDef;
233 #if defined(STM32F105xC) || defined(STM32F107xC)
234 uint32_t Prediv1Source;
258 #if defined(STM32F105xC) || defined(STM32F107xC)
259 RCC_PLL2InitTypeDef PLL2;
263 #if defined(STM32F105xC) || defined(STM32F107xC)
272 #if defined(STM32F105xC) || defined(STM32F107xC)
273 uint32_t HSEPrediv2Value;
277 } RCC_PLLI2SInitTypeDef;
294 #if defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC)\
295 || defined(STM32F107xC)
296 uint32_t I2s2ClockSelection;
299 uint32_t I2s3ClockSelection;
302 #if defined(STM32F105xC) || defined(STM32F107xC)
303 RCC_PLLI2SInitTypeDef PLLI2S;
309 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
310 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)\
311 || defined(STM32F105xC) || defined(STM32F107xC)
312 uint32_t UsbClockSelection;
331 #define RCC_PERIPHCLK_RTC 0x00000001U
332 #define RCC_PERIPHCLK_ADC 0x00000002U
333 #if defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE)\
334 || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
335 #define RCC_PERIPHCLK_I2S2 0x00000004U
336 #define RCC_PERIPHCLK_I2S3 0x00000008U
338 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
339 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)\
340 || defined(STM32F105xC) || defined(STM32F107xC)
341 #define RCC_PERIPHCLK_USB 0x00000010U
351 #define RCC_ADCPCLK2_DIV2 RCC_CFGR_ADCPRE_DIV2
352 #define RCC_ADCPCLK2_DIV4 RCC_CFGR_ADCPRE_DIV4
353 #define RCC_ADCPCLK2_DIV6 RCC_CFGR_ADCPRE_DIV6
354 #define RCC_ADCPCLK2_DIV8 RCC_CFGR_ADCPRE_DIV8
360 #if defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC)\
361 || defined(STM32F107xC)
365 #define RCC_I2S2CLKSOURCE_SYSCLK 0x00000000U
366 #if defined(STM32F105xC) || defined(STM32F107xC)
367 #define RCC_I2S2CLKSOURCE_PLLI2S_VCO RCC_CFGR2_I2S2SRC
377 #define RCC_I2S3CLKSOURCE_SYSCLK 0x00000000U
378 #if defined(STM32F105xC) || defined(STM32F107xC)
379 #define RCC_I2S3CLKSOURCE_PLLI2S_VCO RCC_CFGR2_I2S3SRC
388 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
389 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
394 #define RCC_USBCLKSOURCE_PLL RCC_CFGR_USBPRE
395 #define RCC_USBCLKSOURCE_PLL_DIV1_5 0x00000000U
404 #if defined(STM32F105xC) || defined(STM32F107xC)
408 #define RCC_USBCLKSOURCE_PLL_DIV2 RCC_CFGR_OTGFSPRE
409 #define RCC_USBCLKSOURCE_PLL_DIV3 0x00000000U
419 #define RCC_PLLI2S_MUL8 RCC_CFGR2_PLL3MUL8
420 #define RCC_PLLI2S_MUL9 RCC_CFGR2_PLL3MUL9
421 #define RCC_PLLI2S_MUL10 RCC_CFGR2_PLL3MUL10
422 #define RCC_PLLI2S_MUL11 RCC_CFGR2_PLL3MUL11
423 #define RCC_PLLI2S_MUL12 RCC_CFGR2_PLL3MUL12
424 #define RCC_PLLI2S_MUL13 RCC_CFGR2_PLL3MUL13
425 #define RCC_PLLI2S_MUL14 RCC_CFGR2_PLL3MUL14
426 #define RCC_PLLI2S_MUL16 RCC_CFGR2_PLL3MUL16
427 #define RCC_PLLI2S_MUL20 RCC_CFGR2_PLL3MUL20
434 #if defined(STM32F105xC) || defined(STM32F107xC)
439 #define RCC_PREDIV1_SOURCE_HSE RCC_CFGR2_PREDIV1SRC_HSE
440 #define RCC_PREDIV1_SOURCE_PLL2 RCC_CFGR2_PREDIV1SRC_PLL2
451 #define RCC_HSE_PREDIV_DIV1 0x00000000U
453 #if defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F100xB)\
454 || defined(STM32F100xE)
455 #define RCC_HSE_PREDIV_DIV2 RCC_CFGR2_PREDIV1_DIV2
456 #define RCC_HSE_PREDIV_DIV3 RCC_CFGR2_PREDIV1_DIV3
457 #define RCC_HSE_PREDIV_DIV4 RCC_CFGR2_PREDIV1_DIV4
458 #define RCC_HSE_PREDIV_DIV5 RCC_CFGR2_PREDIV1_DIV5
459 #define RCC_HSE_PREDIV_DIV6 RCC_CFGR2_PREDIV1_DIV6
460 #define RCC_HSE_PREDIV_DIV7 RCC_CFGR2_PREDIV1_DIV7
461 #define RCC_HSE_PREDIV_DIV8 RCC_CFGR2_PREDIV1_DIV8
462 #define RCC_HSE_PREDIV_DIV9 RCC_CFGR2_PREDIV1_DIV9
463 #define RCC_HSE_PREDIV_DIV10 RCC_CFGR2_PREDIV1_DIV10
464 #define RCC_HSE_PREDIV_DIV11 RCC_CFGR2_PREDIV1_DIV11
465 #define RCC_HSE_PREDIV_DIV12 RCC_CFGR2_PREDIV1_DIV12
466 #define RCC_HSE_PREDIV_DIV13 RCC_CFGR2_PREDIV1_DIV13
467 #define RCC_HSE_PREDIV_DIV14 RCC_CFGR2_PREDIV1_DIV14
468 #define RCC_HSE_PREDIV_DIV15 RCC_CFGR2_PREDIV1_DIV15
469 #define RCC_HSE_PREDIV_DIV16 RCC_CFGR2_PREDIV1_DIV16
471 #define RCC_HSE_PREDIV_DIV2 RCC_CFGR_PLLXTPRE
478 #if defined(STM32F105xC) || defined(STM32F107xC)
483 #define RCC_HSE_PREDIV2_DIV1 RCC_CFGR2_PREDIV2_DIV1
484 #define RCC_HSE_PREDIV2_DIV2 RCC_CFGR2_PREDIV2_DIV2
485 #define RCC_HSE_PREDIV2_DIV3 RCC_CFGR2_PREDIV2_DIV3
486 #define RCC_HSE_PREDIV2_DIV4 RCC_CFGR2_PREDIV2_DIV4
487 #define RCC_HSE_PREDIV2_DIV5 RCC_CFGR2_PREDIV2_DIV5
488 #define RCC_HSE_PREDIV2_DIV6 RCC_CFGR2_PREDIV2_DIV6
489 #define RCC_HSE_PREDIV2_DIV7 RCC_CFGR2_PREDIV2_DIV7
490 #define RCC_HSE_PREDIV2_DIV8 RCC_CFGR2_PREDIV2_DIV8
491 #define RCC_HSE_PREDIV2_DIV9 RCC_CFGR2_PREDIV2_DIV9
492 #define RCC_HSE_PREDIV2_DIV10 RCC_CFGR2_PREDIV2_DIV10
493 #define RCC_HSE_PREDIV2_DIV11 RCC_CFGR2_PREDIV2_DIV11
494 #define RCC_HSE_PREDIV2_DIV12 RCC_CFGR2_PREDIV2_DIV12
495 #define RCC_HSE_PREDIV2_DIV13 RCC_CFGR2_PREDIV2_DIV13
496 #define RCC_HSE_PREDIV2_DIV14 RCC_CFGR2_PREDIV2_DIV14
497 #define RCC_HSE_PREDIV2_DIV15 RCC_CFGR2_PREDIV2_DIV15
498 #define RCC_HSE_PREDIV2_DIV16 RCC_CFGR2_PREDIV2_DIV16
507 #define RCC_PLL2_NONE 0x00000000U
508 #define RCC_PLL2_OFF 0x00000001U
509 #define RCC_PLL2_ON 0x00000002U
519 #define RCC_PLL2_MUL8 RCC_CFGR2_PLL2MUL8
520 #define RCC_PLL2_MUL9 RCC_CFGR2_PLL2MUL9
521 #define RCC_PLL2_MUL10 RCC_CFGR2_PLL2MUL10
522 #define RCC_PLL2_MUL11 RCC_CFGR2_PLL2MUL11
523 #define RCC_PLL2_MUL12 RCC_CFGR2_PLL2MUL12
524 #define RCC_PLL2_MUL13 RCC_CFGR2_PLL2MUL13
525 #define RCC_PLL2_MUL14 RCC_CFGR2_PLL2MUL14
526 #define RCC_PLL2_MUL16 RCC_CFGR2_PLL2MUL16
527 #define RCC_PLL2_MUL20 RCC_CFGR2_PLL2MUL20
539 #if defined(STM32F105xC) || defined(STM32F107xC)
541 #define RCC_PLL_MUL2 RCC_CFGR_PLLMULL2
542 #define RCC_PLL_MUL3 RCC_CFGR_PLLMULL3
544 #define RCC_PLL_MUL4 RCC_CFGR_PLLMULL4
545 #define RCC_PLL_MUL5 RCC_CFGR_PLLMULL5
546 #define RCC_PLL_MUL6 RCC_CFGR_PLLMULL6
547 #define RCC_PLL_MUL7 RCC_CFGR_PLLMULL7
548 #define RCC_PLL_MUL8 RCC_CFGR_PLLMULL8
549 #define RCC_PLL_MUL9 RCC_CFGR_PLLMULL9
550 #if defined(STM32F105xC) || defined(STM32F107xC)
551 #define RCC_PLL_MUL6_5 RCC_CFGR_PLLMULL6_5
553 #define RCC_PLL_MUL10 RCC_CFGR_PLLMULL10
554 #define RCC_PLL_MUL11 RCC_CFGR_PLLMULL11
555 #define RCC_PLL_MUL12 RCC_CFGR_PLLMULL12
556 #define RCC_PLL_MUL13 RCC_CFGR_PLLMULL13
557 #define RCC_PLL_MUL14 RCC_CFGR_PLLMULL14
558 #define RCC_PLL_MUL15 RCC_CFGR_PLLMULL15
559 #define RCC_PLL_MUL16 RCC_CFGR_PLLMULL16
569 #define RCC_MCO1SOURCE_NOCLOCK ((uint32_t)RCC_CFGR_MCO_NOCLOCK)
570 #define RCC_MCO1SOURCE_SYSCLK ((uint32_t)RCC_CFGR_MCO_SYSCLK)
571 #define RCC_MCO1SOURCE_HSI ((uint32_t)RCC_CFGR_MCO_HSI)
572 #define RCC_MCO1SOURCE_HSE ((uint32_t)RCC_CFGR_MCO_HSE)
573 #define RCC_MCO1SOURCE_PLLCLK ((uint32_t)RCC_CFGR_MCO_PLLCLK_DIV2)
574 #if defined(STM32F105xC) || defined(STM32F107xC)
575 #define RCC_MCO1SOURCE_PLL2CLK ((uint32_t)RCC_CFGR_MCO_PLL2CLK)
576 #define RCC_MCO1SOURCE_PLL3CLK_DIV2 ((uint32_t)RCC_CFGR_MCO_PLL3CLK_DIV2)
577 #define RCC_MCO1SOURCE_EXT_HSE ((uint32_t)RCC_CFGR_MCO_EXT_HSE)
578 #define RCC_MCO1SOURCE_PLL3CLK ((uint32_t)RCC_CFGR_MCO_PLL3CLK)
584 #if defined(STM32F105xC) || defined(STM32F107xC)
588 #define RCC_IT_PLL2RDY ((uint8_t)RCC_CIR_PLL2RDYF)
589 #define RCC_IT_PLLI2SRDY ((uint8_t)RCC_CIR_PLL3RDYF)
602 #define RCC_FLAG_PLL2RDY ((uint8_t)((CR_REG_INDEX << 5U) | RCC_CR_PLL2RDY_Pos))
603 #define RCC_FLAG_PLLI2SRDY ((uint8_t)((CR_REG_INDEX << 5U) | RCC_CR_PLL3RDY_Pos))
626 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
627 || defined(STM32F103xG) || defined(STM32F105xC) || defined (STM32F107xC)\
628 || defined (STM32F100xE)
629 #define __HAL_RCC_DMA2_CLK_ENABLE() do { \
630 __IO uint32_t tmpreg; \
631 SET_BIT(RCC->AHBENR, RCC_AHBENR_DMA2EN);\
633 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_DMA2EN);\
637 #define __HAL_RCC_DMA2_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_DMA2EN))
640 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
641 || defined(STM32F103xG) || defined (STM32F100xE)
642 #define __HAL_RCC_FSMC_CLK_ENABLE() do { \
643 __IO uint32_t tmpreg; \
644 SET_BIT(RCC->AHBENR, RCC_AHBENR_FSMCEN);\
646 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_FSMCEN);\
650 #define __HAL_RCC_FSMC_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_FSMCEN))
653 #if defined(STM32F103xE) || defined(STM32F103xG)
654 #define __HAL_RCC_SDIO_CLK_ENABLE() do { \
655 __IO uint32_t tmpreg; \
656 SET_BIT(RCC->AHBENR, RCC_AHBENR_SDIOEN);\
658 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_SDIOEN);\
663 #define __HAL_RCC_SDIO_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_SDIOEN))
666 #if defined(STM32F105xC) || defined(STM32F107xC)
667 #define __HAL_RCC_USB_OTG_FS_CLK_ENABLE() do { \
668 __IO uint32_t tmpreg; \
669 SET_BIT(RCC->AHBENR, RCC_AHBENR_OTGFSEN);\
671 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_OTGFSEN);\
676 #define __HAL_RCC_USB_OTG_FS_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_OTGFSEN))
679 #if defined(STM32F107xC)
680 #define __HAL_RCC_ETHMAC_CLK_ENABLE() do { \
681 __IO uint32_t tmpreg; \
682 SET_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACEN);\
684 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACEN);\
688 #define __HAL_RCC_ETHMACTX_CLK_ENABLE() do { \
689 __IO uint32_t tmpreg; \
690 SET_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACTXEN);\
692 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACTXEN);\
696 #define __HAL_RCC_ETHMACRX_CLK_ENABLE() do { \
697 __IO uint32_t tmpreg; \
698 SET_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACRXEN);\
700 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_ETHMACRXEN);\
704 #define __HAL_RCC_ETHMAC_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_ETHMACEN))
705 #define __HAL_RCC_ETHMACTX_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_ETHMACTXEN))
706 #define __HAL_RCC_ETHMACRX_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_ETHMACRXEN))
711 #define __HAL_RCC_ETH_CLK_ENABLE() do { \
712 __HAL_RCC_ETHMAC_CLK_ENABLE(); \
713 __HAL_RCC_ETHMACTX_CLK_ENABLE(); \
714 __HAL_RCC_ETHMACRX_CLK_ENABLE(); \
719 #define __HAL_RCC_ETH_CLK_DISABLE() do { \
720 __HAL_RCC_ETHMACTX_CLK_DISABLE(); \
721 __HAL_RCC_ETHMACRX_CLK_DISABLE(); \
722 __HAL_RCC_ETHMAC_CLK_DISABLE(); \
739 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
740 || defined(STM32F103xG) || defined(STM32F105xC) || defined (STM32F107xC)\
741 || defined (STM32F100xE)
742 #define __HAL_RCC_DMA2_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_DMA2EN)) != RESET)
743 #define __HAL_RCC_DMA2_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_DMA2EN)) == RESET)
745 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
746 || defined(STM32F103xG) || defined (STM32F100xE)
747 #define __HAL_RCC_FSMC_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_FSMCEN)) != RESET)
748 #define __HAL_RCC_FSMC_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_FSMCEN)) == RESET)
750 #if defined(STM32F103xE) || defined(STM32F103xG)
751 #define __HAL_RCC_SDIO_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_SDIOEN)) != RESET)
752 #define __HAL_RCC_SDIO_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_SDIOEN)) == RESET)
754 #if defined(STM32F105xC) || defined(STM32F107xC)
755 #define __HAL_RCC_USB_OTG_FS_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_OTGFSEN)) != RESET)
756 #define __HAL_RCC_USB_OTG_FS_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_OTGFSEN)) == RESET)
758 #if defined(STM32F107xC)
759 #define __HAL_RCC_ETHMAC_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACEN)) != RESET)
760 #define __HAL_RCC_ETHMAC_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACEN)) == RESET)
761 #define __HAL_RCC_ETHMACTX_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACTXEN)) != RESET)
762 #define __HAL_RCC_ETHMACTX_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACTXEN)) == RESET)
763 #define __HAL_RCC_ETHMACRX_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACRXEN)) != RESET)
764 #define __HAL_RCC_ETHMACRX_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_ETHMACRXEN)) == RESET)
779 #if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE)\
780 || defined(STM32F103xG) || defined(STM32F105xC) ||defined(STM32F107xC)
781 #define __HAL_RCC_CAN1_CLK_ENABLE() do { \
782 __IO uint32_t tmpreg; \
783 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CAN1EN);\
785 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CAN1EN);\
789 #define __HAL_RCC_CAN1_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CAN1EN))
792 #if defined(STM32F100xB) || defined(STM32F100xE) || defined(STM32F101xB)\
793 || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F102xB)\
794 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)\
795 || defined(STM32F105xC) || defined(STM32F107xC)
796 #define __HAL_RCC_TIM4_CLK_ENABLE() do { \
797 __IO uint32_t tmpreg; \
798 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM4EN);\
800 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM4EN);\
804 #define __HAL_RCC_SPI2_CLK_ENABLE() do { \
805 __IO uint32_t tmpreg; \
806 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN);\
808 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN);\
812 #define __HAL_RCC_USART3_CLK_ENABLE() do { \
813 __IO uint32_t tmpreg; \
814 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USART3EN);\
816 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART3EN);\
820 #define __HAL_RCC_I2C2_CLK_ENABLE() do { \
821 __IO uint32_t tmpreg; \
822 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN);\
824 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN);\
828 #define __HAL_RCC_TIM4_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM4EN))
829 #define __HAL_RCC_SPI2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI2EN))
830 #define __HAL_RCC_USART3_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USART3EN))
831 #define __HAL_RCC_I2C2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C2EN))
834 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
835 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
836 #define __HAL_RCC_USB_CLK_ENABLE() do { \
837 __IO uint32_t tmpreg; \
838 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN);\
840 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN);\
844 #define __HAL_RCC_USB_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USBEN))
847 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
848 || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
849 #define __HAL_RCC_TIM5_CLK_ENABLE() do { \
850 __IO uint32_t tmpreg; \
851 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM5EN);\
853 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM5EN);\
857 #define __HAL_RCC_TIM6_CLK_ENABLE() do { \
858 __IO uint32_t tmpreg; \
859 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
861 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
865 #define __HAL_RCC_TIM7_CLK_ENABLE() do { \
866 __IO uint32_t tmpreg; \
867 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
869 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
873 #define __HAL_RCC_SPI3_CLK_ENABLE() do { \
874 __IO uint32_t tmpreg; \
875 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI3EN);\
877 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI3EN);\
881 #define __HAL_RCC_UART4_CLK_ENABLE() do { \
882 __IO uint32_t tmpreg; \
883 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_UART4EN);\
885 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_UART4EN);\
889 #define __HAL_RCC_UART5_CLK_ENABLE() do { \
890 __IO uint32_t tmpreg; \
891 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_UART5EN);\
893 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_UART5EN);\
897 #define __HAL_RCC_DAC_CLK_ENABLE() do { \
898 __IO uint32_t tmpreg; \
899 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
901 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
905 #define __HAL_RCC_TIM5_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM5EN))
906 #define __HAL_RCC_TIM6_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM6EN))
907 #define __HAL_RCC_TIM7_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM7EN))
908 #define __HAL_RCC_SPI3_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI3EN))
909 #define __HAL_RCC_UART4_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_UART4EN))
910 #define __HAL_RCC_UART5_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_UART5EN))
911 #define __HAL_RCC_DAC_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_DACEN))
914 #if defined(STM32F100xB) || defined (STM32F100xE)
915 #define __HAL_RCC_TIM6_CLK_ENABLE() do { \
916 __IO uint32_t tmpreg; \
917 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
919 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
923 #define __HAL_RCC_TIM7_CLK_ENABLE() do { \
924 __IO uint32_t tmpreg; \
925 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
927 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
931 #define __HAL_RCC_DAC_CLK_ENABLE() do { \
932 __IO uint32_t tmpreg; \
933 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
935 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
939 #define __HAL_RCC_CEC_CLK_ENABLE() do { \
940 __IO uint32_t tmpreg; \
941 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CECEN);\
943 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CECEN);\
947 #define __HAL_RCC_TIM6_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM6EN))
948 #define __HAL_RCC_TIM7_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM7EN))
949 #define __HAL_RCC_DAC_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_DACEN))
950 #define __HAL_RCC_CEC_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CECEN))
954 #define __HAL_RCC_TIM5_CLK_ENABLE() do { \
955 __IO uint32_t tmpreg; \
956 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM5EN);\
958 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM5EN);\
962 #define __HAL_RCC_TIM12_CLK_ENABLE() do { \
963 __IO uint32_t tmpreg; \
964 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM12EN);\
966 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM12EN);\
970 #define __HAL_RCC_TIM13_CLK_ENABLE() do { \
971 __IO uint32_t tmpreg; \
972 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM13EN);\
974 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM13EN);\
978 #define __HAL_RCC_TIM14_CLK_ENABLE() do { \
979 __IO uint32_t tmpreg; \
980 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM14EN);\
982 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM14EN);\
986 #define __HAL_RCC_SPI3_CLK_ENABLE() do { \
987 __IO uint32_t tmpreg; \
988 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI3EN);\
990 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI3EN);\
994 #define __HAL_RCC_UART4_CLK_ENABLE() do { \
995 __IO uint32_t tmpreg; \
996 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_UART4EN);\
998 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_UART4EN);\
1002 #define __HAL_RCC_UART5_CLK_ENABLE() do { \
1003 __IO uint32_t tmpreg; \
1004 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_UART5EN);\
1006 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_UART5EN);\
1010 #define __HAL_RCC_TIM5_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM5EN))
1011 #define __HAL_RCC_TIM12_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM12EN))
1012 #define __HAL_RCC_TIM13_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM13EN))
1013 #define __HAL_RCC_TIM14_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM14EN))
1014 #define __HAL_RCC_SPI3_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI3EN))
1015 #define __HAL_RCC_UART4_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_UART4EN))
1016 #define __HAL_RCC_UART5_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_UART5EN))
1019 #if defined(STM32F105xC) || defined(STM32F107xC)
1020 #define __HAL_RCC_CAN2_CLK_ENABLE() do { \
1021 __IO uint32_t tmpreg; \
1022 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CAN2EN);\
1024 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CAN2EN);\
1028 #define __HAL_RCC_CAN2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CAN2EN))
1031 #if defined(STM32F101xG) || defined(STM32F103xG)
1032 #define __HAL_RCC_TIM12_CLK_ENABLE() do { \
1033 __IO uint32_t tmpreg; \
1034 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM12EN);\
1036 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM12EN);\
1040 #define __HAL_RCC_TIM13_CLK_ENABLE() do { \
1041 __IO uint32_t tmpreg; \
1042 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM13EN);\
1044 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM13EN);\
1048 #define __HAL_RCC_TIM14_CLK_ENABLE() do { \
1049 __IO uint32_t tmpreg; \
1050 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM14EN);\
1052 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM14EN);\
1056 #define __HAL_RCC_TIM12_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM12EN))
1057 #define __HAL_RCC_TIM13_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM13EN))
1058 #define __HAL_RCC_TIM14_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM14EN))
1073 #if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE)\
1074 || defined(STM32F103xG) || defined(STM32F105xC) ||defined(STM32F107xC)
1075 #define __HAL_RCC_CAN1_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN1EN)) != RESET)
1076 #define __HAL_RCC_CAN1_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN1EN)) == RESET)
1078 #if defined(STM32F100xB) || defined(STM32F100xE) || defined(STM32F101xB)\
1079 || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F102xB)\
1080 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)\
1081 || defined(STM32F105xC) || defined(STM32F107xC)
1082 #define __HAL_RCC_TIM4_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM4EN)) != RESET)
1083 #define __HAL_RCC_TIM4_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM4EN)) == RESET)
1084 #define __HAL_RCC_SPI2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI2EN)) != RESET)
1085 #define __HAL_RCC_SPI2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI2EN)) == RESET)
1086 #define __HAL_RCC_USART3_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART3EN)) != RESET)
1087 #define __HAL_RCC_USART3_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART3EN)) == RESET)
1088 #define __HAL_RCC_I2C2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_I2C2EN)) != RESET)
1089 #define __HAL_RCC_I2C2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_I2C2EN)) == RESET)
1091 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
1092 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
1093 #define __HAL_RCC_USB_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USBEN)) != RESET)
1094 #define __HAL_RCC_USB_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USBEN)) == RESET)
1096 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
1097 || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
1098 #define __HAL_RCC_TIM5_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM5EN)) != RESET)
1099 #define __HAL_RCC_TIM5_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM5EN)) == RESET)
1100 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) != RESET)
1101 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) == RESET)
1102 #define __HAL_RCC_TIM7_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) != RESET)
1103 #define __HAL_RCC_TIM7_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) == RESET)
1104 #define __HAL_RCC_SPI3_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI3EN)) != RESET)
1105 #define __HAL_RCC_SPI3_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI3EN)) == RESET)
1106 #define __HAL_RCC_UART4_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART4EN)) != RESET)
1107 #define __HAL_RCC_UART4_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART4EN)) == RESET)
1108 #define __HAL_RCC_UART5_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART5EN)) != RESET)
1109 #define __HAL_RCC_UART5_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART5EN)) == RESET)
1110 #define __HAL_RCC_DAC_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DACEN)) != RESET)
1111 #define __HAL_RCC_DAC_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DACEN)) == RESET)
1113 #if defined(STM32F100xB) || defined (STM32F100xE)
1114 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) != RESET)
1115 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) == RESET)
1116 #define __HAL_RCC_TIM7_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) != RESET)
1117 #define __HAL_RCC_TIM7_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) == RESET)
1118 #define __HAL_RCC_DAC_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DACEN)) != RESET)
1119 #define __HAL_RCC_DAC_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DACEN)) == RESET)
1120 #define __HAL_RCC_CEC_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CECEN)) != RESET)
1121 #define __HAL_RCC_CEC_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CECEN)) == RESET)
1124 #define __HAL_RCC_TIM5_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM5EN)) != RESET)
1125 #define __HAL_RCC_TIM5_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM5EN)) == RESET)
1126 #define __HAL_RCC_TIM12_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM12EN)) != RESET)
1127 #define __HAL_RCC_TIM12_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM12EN)) == RESET)
1128 #define __HAL_RCC_TIM13_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM13EN)) != RESET)
1129 #define __HAL_RCC_TIM13_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM13EN)) == RESET)
1130 #define __HAL_RCC_TIM14_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM14EN)) != RESET)
1131 #define __HAL_RCC_TIM14_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM14EN)) == RESET)
1132 #define __HAL_RCC_SPI3_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI3EN)) != RESET)
1133 #define __HAL_RCC_SPI3_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI3EN)) == RESET)
1134 #define __HAL_RCC_UART4_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART4EN)) != RESET)
1135 #define __HAL_RCC_UART4_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART4EN)) == RESET)
1136 #define __HAL_RCC_UART5_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART5EN)) != RESET)
1137 #define __HAL_RCC_UART5_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_UART5EN)) == RESET)
1138 #define __HAL_RCC_CAN2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN2EN)) != RESET)
1139 #define __HAL_RCC_CAN2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN2EN)) == RESET)
1141 #if defined(STM32F105xC) || defined(STM32F107xC)
1142 #define __HAL_RCC_TIM12_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM12EN)) != RESET)
1143 #define __HAL_RCC_TIM12_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM12EN)) == RESET)
1145 #if defined(STM32F101xG) || defined(STM32F103xG)
1146 #define __HAL_RCC_TIM13_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM13EN)) != RESET)
1147 #define __HAL_RCC_TIM13_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM13EN)) == RESET)
1148 #define __HAL_RCC_TIM14_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM14EN)) != RESET)
1149 #define __HAL_RCC_TIM14_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM14EN)) == RESET)
1164 #if defined(STM32F101xG) || defined(STM32F103x6) || defined(STM32F103xB)\
1165 || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE)\
1166 || defined(STM32F103xG)
1167 #define __HAL_RCC_ADC2_CLK_ENABLE() do { \
1168 __IO uint32_t tmpreg; \
1169 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_ADC2EN);\
1171 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_ADC2EN);\
1175 #define __HAL_RCC_ADC2_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_ADC2EN))
1178 #if defined(STM32F100xB) || defined(STM32F100xE)
1179 #define __HAL_RCC_TIM15_CLK_ENABLE() do { \
1180 __IO uint32_t tmpreg; \
1181 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\
1183 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\
1187 #define __HAL_RCC_TIM16_CLK_ENABLE() do { \
1188 __IO uint32_t tmpreg; \
1189 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN);\
1191 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN);\
1195 #define __HAL_RCC_TIM17_CLK_ENABLE() do { \
1196 __IO uint32_t tmpreg; \
1197 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN);\
1199 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN);\
1203 #define __HAL_RCC_TIM15_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM15EN))
1204 #define __HAL_RCC_TIM16_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM16EN))
1205 #define __HAL_RCC_TIM17_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM17EN))
1208 #if defined(STM32F100xE) || defined(STM32F101xB) || defined(STM32F101xE)\
1209 || defined(STM32F101xG) || defined(STM32F100xB) || defined(STM32F103xB)\
1210 || defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC)\
1211 || defined(STM32F107xC)
1212 #define __HAL_RCC_GPIOE_CLK_ENABLE() do { \
1213 __IO uint32_t tmpreg; \
1214 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPEEN);\
1216 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPEEN);\
1220 #define __HAL_RCC_GPIOE_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_IOPEEN))
1223 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
1224 || defined(STM32F103xG)
1225 #define __HAL_RCC_GPIOF_CLK_ENABLE() do { \
1226 __IO uint32_t tmpreg; \
1227 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPFEN);\
1229 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPFEN);\
1233 #define __HAL_RCC_GPIOG_CLK_ENABLE() do { \
1234 __IO uint32_t tmpreg; \
1235 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPGEN);\
1237 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPGEN);\
1241 #define __HAL_RCC_GPIOF_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_IOPFEN))
1242 #define __HAL_RCC_GPIOG_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_IOPGEN))
1245 #if defined(STM32F103xE) || defined(STM32F103xG)
1246 #define __HAL_RCC_TIM8_CLK_ENABLE() do { \
1247 __IO uint32_t tmpreg; \
1248 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN);\
1250 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN);\
1254 #define __HAL_RCC_ADC3_CLK_ENABLE() do { \
1255 __IO uint32_t tmpreg; \
1256 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_ADC3EN);\
1258 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_ADC3EN);\
1262 #define __HAL_RCC_TIM8_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM8EN))
1263 #define __HAL_RCC_ADC3_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_ADC3EN))
1266 #if defined(STM32F100xE)
1267 #define __HAL_RCC_GPIOF_CLK_ENABLE() do { \
1268 __IO uint32_t tmpreg; \
1269 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPFEN);\
1271 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPFEN);\
1275 #define __HAL_RCC_GPIOG_CLK_ENABLE() do { \
1276 __IO uint32_t tmpreg; \
1277 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPGEN);\
1279 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPGEN);\
1283 #define __HAL_RCC_GPIOF_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_IOPFEN))
1284 #define __HAL_RCC_GPIOG_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_IOPGEN))
1287 #if defined(STM32F101xG) || defined(STM32F103xG)
1288 #define __HAL_RCC_TIM9_CLK_ENABLE() do { \
1289 __IO uint32_t tmpreg; \
1290 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM9EN);\
1292 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM9EN);\
1296 #define __HAL_RCC_TIM10_CLK_ENABLE() do { \
1297 __IO uint32_t tmpreg; \
1298 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM10EN);\
1300 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM10EN);\
1304 #define __HAL_RCC_TIM11_CLK_ENABLE() do { \
1305 __IO uint32_t tmpreg; \
1306 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM11EN);\
1308 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM11EN);\
1312 #define __HAL_RCC_TIM9_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM9EN))
1313 #define __HAL_RCC_TIM10_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM10EN))
1314 #define __HAL_RCC_TIM11_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM11EN))
1329 #if defined(STM32F101xG) || defined(STM32F103x6) || defined(STM32F103xB)\
1330 || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE)\
1331 || defined(STM32F103xG)
1332 #define __HAL_RCC_ADC2_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_ADC2EN)) != RESET)
1333 #define __HAL_RCC_ADC2_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_ADC2EN)) == RESET)
1335 #if defined(STM32F100xB) || defined(STM32F100xE)
1336 #define __HAL_RCC_TIM15_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM15EN)) != RESET)
1337 #define __HAL_RCC_TIM15_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM15EN)) == RESET)
1338 #define __HAL_RCC_TIM16_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM16EN)) != RESET)
1339 #define __HAL_RCC_TIM16_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM16EN)) == RESET)
1340 #define __HAL_RCC_TIM17_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM17EN)) != RESET)
1341 #define __HAL_RCC_TIM17_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM17EN)) == RESET)
1343 #if defined(STM32F100xE) || defined(STM32F101xB) || defined(STM32F101xE)\
1344 || defined(STM32F101xG) || defined(STM32F100xB) || defined(STM32F103xB)\
1345 || defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC)\
1346 || defined(STM32F107xC)
1347 #define __HAL_RCC_GPIOE_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPEEN)) != RESET)
1348 #define __HAL_RCC_GPIOE_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPEEN)) == RESET)
1350 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
1351 || defined(STM32F103xG)
1352 #define __HAL_RCC_GPIOF_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPFEN)) != RESET)
1353 #define __HAL_RCC_GPIOF_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPFEN)) == RESET)
1354 #define __HAL_RCC_GPIOG_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPGEN)) != RESET)
1355 #define __HAL_RCC_GPIOG_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPGEN)) == RESET)
1357 #if defined(STM32F103xE) || defined(STM32F103xG)
1358 #define __HAL_RCC_TIM8_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM8EN)) != RESET)
1359 #define __HAL_RCC_TIM8_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM8EN)) == RESET)
1360 #define __HAL_RCC_ADC3_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_ADC3EN)) != RESET)
1361 #define __HAL_RCC_ADC3_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_ADC3EN)) == RESET)
1363 #if defined(STM32F100xE)
1364 #define __HAL_RCC_GPIOF_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPFEN)) != RESET)
1365 #define __HAL_RCC_GPIOF_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPFEN)) == RESET)
1366 #define __HAL_RCC_GPIOG_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPGEN)) != RESET)
1367 #define __HAL_RCC_GPIOG_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_IOPGEN)) == RESET)
1369 #if defined(STM32F101xG) || defined(STM32F103xG)
1370 #define __HAL_RCC_TIM9_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM9EN)) != RESET)
1371 #define __HAL_RCC_TIM9_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM9EN)) == RESET)
1372 #define __HAL_RCC_TIM10_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM10EN)) != RESET)
1373 #define __HAL_RCC_TIM10_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM10EN)) == RESET)
1374 #define __HAL_RCC_TIM11_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM11EN)) != RESET)
1375 #define __HAL_RCC_TIM11_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM11EN)) == RESET)
1382 #if defined(STM32F105xC) || defined(STM32F107xC)
1387 #define __HAL_RCC_AHB_FORCE_RESET() (RCC->AHBRSTR = 0xFFFFFFFFU)
1388 #define __HAL_RCC_USB_OTG_FS_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_OTGFSRST))
1389 #if defined(STM32F107xC)
1390 #define __HAL_RCC_ETHMAC_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_ETHMACRST))
1393 #define __HAL_RCC_AHB_RELEASE_RESET() (RCC->AHBRSTR = 0x00)
1394 #define __HAL_RCC_USB_OTG_FS_RELEASE_RESET() (RCC->AHBRSTR &= ~(RCC_AHBRSTR_OTGFSRST))
1395 #if defined(STM32F107xC)
1396 #define __HAL_RCC_ETHMAC_RELEASE_RESET() (RCC->AHBRSTR &= ~(RCC_AHBRSTR_ETHMACRST))
1409 #if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE)\
1410 || defined(STM32F103xG) || defined(STM32F105xC) ||defined(STM32F107xC)
1411 #define __HAL_RCC_CAN1_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CAN1RST))
1413 #define __HAL_RCC_CAN1_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CAN1RST))
1416 #if defined(STM32F100xB) || defined(STM32F100xE) || defined(STM32F101xB)\
1417 || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F102xB)\
1418 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)\
1419 || defined(STM32F105xC) || defined(STM32F107xC)
1420 #define __HAL_RCC_TIM4_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM4RST))
1421 #define __HAL_RCC_SPI2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_SPI2RST))
1422 #define __HAL_RCC_USART3_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USART3RST))
1423 #define __HAL_RCC_I2C2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_I2C2RST))
1425 #define __HAL_RCC_TIM4_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM4RST))
1426 #define __HAL_RCC_SPI2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_SPI2RST))
1427 #define __HAL_RCC_USART3_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USART3RST))
1428 #define __HAL_RCC_I2C2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_I2C2RST))
1431 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
1432 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
1433 #define __HAL_RCC_USB_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USBRST))
1434 #define __HAL_RCC_USB_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USBRST))
1437 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
1438 || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
1439 #define __HAL_RCC_TIM5_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM5RST))
1440 #define __HAL_RCC_TIM6_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM6RST))
1441 #define __HAL_RCC_TIM7_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM7RST))
1442 #define __HAL_RCC_SPI3_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_SPI3RST))
1443 #define __HAL_RCC_UART4_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_UART4RST))
1444 #define __HAL_RCC_UART5_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_UART5RST))
1445 #define __HAL_RCC_DAC_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_DACRST))
1447 #define __HAL_RCC_TIM5_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM5RST))
1448 #define __HAL_RCC_TIM6_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM6RST))
1449 #define __HAL_RCC_TIM7_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM7RST))
1450 #define __HAL_RCC_SPI3_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_SPI3RST))
1451 #define __HAL_RCC_UART4_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_UART4RST))
1452 #define __HAL_RCC_UART5_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_UART5RST))
1453 #define __HAL_RCC_DAC_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_DACRST))
1456 #if defined(STM32F100xB) || defined (STM32F100xE)
1457 #define __HAL_RCC_TIM6_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM6RST))
1458 #define __HAL_RCC_TIM7_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM7RST))
1459 #define __HAL_RCC_DAC_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_DACRST))
1460 #define __HAL_RCC_CEC_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CECRST))
1462 #define __HAL_RCC_TIM6_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM6RST))
1463 #define __HAL_RCC_TIM7_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM7RST))
1464 #define __HAL_RCC_DAC_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_DACRST))
1465 #define __HAL_RCC_CEC_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CECRST))
1468 #if defined (STM32F100xE)
1469 #define __HAL_RCC_TIM5_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM5RST))
1470 #define __HAL_RCC_TIM12_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM12RST))
1471 #define __HAL_RCC_TIM13_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM13RST))
1472 #define __HAL_RCC_TIM14_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM14RST))
1473 #define __HAL_RCC_SPI3_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_SPI3RST))
1474 #define __HAL_RCC_UART4_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_UART4RST))
1475 #define __HAL_RCC_UART5_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_UART5RST))
1477 #define __HAL_RCC_TIM5_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM5RST))
1478 #define __HAL_RCC_TIM12_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM12RST))
1479 #define __HAL_RCC_TIM13_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM13RST))
1480 #define __HAL_RCC_TIM14_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM14RST))
1481 #define __HAL_RCC_SPI3_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_SPI3RST))
1482 #define __HAL_RCC_UART4_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_UART4RST))
1483 #define __HAL_RCC_UART5_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_UART5RST))
1486 #if defined(STM32F105xC) || defined(STM32F107xC)
1487 #define __HAL_RCC_CAN2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CAN2RST))
1489 #define __HAL_RCC_CAN2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CAN2RST))
1492 #if defined(STM32F101xG) || defined(STM32F103xG)
1493 #define __HAL_RCC_TIM12_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM12RST))
1494 #define __HAL_RCC_TIM13_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM13RST))
1495 #define __HAL_RCC_TIM14_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM14RST))
1497 #define __HAL_RCC_TIM12_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM12RST))
1498 #define __HAL_RCC_TIM13_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM13RST))
1499 #define __HAL_RCC_TIM14_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM14RST))
1511 #if defined(STM32F101xG) || defined(STM32F103x6) || defined(STM32F103xB)\
1512 || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE)\
1513 || defined(STM32F103xG)
1514 #define __HAL_RCC_ADC2_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_ADC2RST))
1516 #define __HAL_RCC_ADC2_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_ADC2RST))
1519 #if defined(STM32F100xB) || defined(STM32F100xE)
1520 #define __HAL_RCC_TIM15_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM15RST))
1521 #define __HAL_RCC_TIM16_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM16RST))
1522 #define __HAL_RCC_TIM17_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM17RST))
1524 #define __HAL_RCC_TIM15_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM15RST))
1525 #define __HAL_RCC_TIM16_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM16RST))
1526 #define __HAL_RCC_TIM17_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM17RST))
1529 #if defined(STM32F100xE) || defined(STM32F101xB) || defined(STM32F101xE)\
1530 || defined(STM32F101xG) || defined(STM32F100xB) || defined(STM32F103xB)\
1531 || defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC)\
1532 || defined(STM32F107xC)
1533 #define __HAL_RCC_GPIOE_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_IOPERST))
1535 #define __HAL_RCC_GPIOE_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_IOPERST))
1538 #if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG)\
1539 || defined(STM32F103xG)
1540 #define __HAL_RCC_GPIOF_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_IOPFRST))
1541 #define __HAL_RCC_GPIOG_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_IOPGRST))
1543 #define __HAL_RCC_GPIOF_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_IOPFRST))
1544 #define __HAL_RCC_GPIOG_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_IOPGRST))
1547 #if defined(STM32F103xE) || defined(STM32F103xG)
1548 #define __HAL_RCC_TIM8_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM8RST))
1549 #define __HAL_RCC_ADC3_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_ADC3RST))
1551 #define __HAL_RCC_TIM8_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM8RST))
1552 #define __HAL_RCC_ADC3_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_ADC3RST))
1555 #if defined(STM32F100xE)
1556 #define __HAL_RCC_GPIOF_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_IOPFRST))
1557 #define __HAL_RCC_GPIOG_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_IOPGRST))
1559 #define __HAL_RCC_GPIOF_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_IOPFRST))
1560 #define __HAL_RCC_GPIOG_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_IOPGRST))
1563 #if defined(STM32F101xG) || defined(STM32F103xG)
1564 #define __HAL_RCC_TIM9_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM9RST))
1565 #define __HAL_RCC_TIM10_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM10RST))
1566 #define __HAL_RCC_TIM11_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM11RST))
1568 #define __HAL_RCC_TIM9_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM9RST))
1569 #define __HAL_RCC_TIM10_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM10RST))
1570 #define __HAL_RCC_TIM11_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM11RST))
1581 #if defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F100xB)\
1582 || defined(STM32F100xE)
1591 #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV1, (uint32_t)(__HSE_PREDIV_VALUE__))
1601 #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) \
1602 MODIFY_REG(RCC->CFGR,RCC_CFGR_PLLXTPRE, (uint32_t)(__HSE_PREDIV_VALUE__))
1606 #if defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F100xB)\
1607 || defined(STM32F100xE)
1611 #define __HAL_RCC_HSE_GET_PREDIV() READ_BIT(RCC->CFGR2, RCC_CFGR2_PREDIV1)
1617 #define __HAL_RCC_HSE_GET_PREDIV() READ_BIT(RCC->CFGR, RCC_CFGR_PLLXTPRE)
1625 #if defined(STM32F105xC) || defined(STM32F107xC)
1636 #define __HAL_RCC_PLLI2S_ENABLE() (*(__IO uint32_t *) RCC_CR_PLLI2SON_BB = ENABLE)
1641 #define __HAL_RCC_PLLI2S_DISABLE() (*(__IO uint32_t *) RCC_CR_PLLI2SON_BB = DISABLE)
1659 #define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SMUL__)\
1660 MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL3MUL,(__PLLI2SMUL__))
1673 #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\
1674 || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
1681 #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \
1682 MODIFY_REG(RCC->CFGR, RCC_CFGR_USBPRE, (uint32_t)(__USBCLKSOURCE__))
1689 #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_USBPRE)))
1693 #if defined(STM32F105xC) || defined(STM32F107xC)
1701 #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \
1702 MODIFY_REG(RCC->CFGR, RCC_CFGR_OTGFSPRE, (uint32_t)(__USBCLKSOURCE__))
1709 #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_OTGFSPRE)))
1721 #define __HAL_RCC_ADC_CONFIG(__ADCCLKSOURCE__) \
1722 MODIFY_REG(RCC->CFGR, RCC_CFGR_ADCPRE, (uint32_t)(__ADCCLKSOURCE__))
1731 #define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_ADCPRE)))
1737 #if defined(STM32F105xC) || defined(STM32F107xC)
1751 #define __HAL_RCC_HSE_PREDIV2_CONFIG(__HSE_PREDIV2_VALUE__) \
1752 MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV2, (uint32_t)(__HSE_PREDIV2_VALUE__))
1757 #define __HAL_RCC_HSE_GET_PREDIV2() READ_BIT(RCC->CFGR2, RCC_CFGR2_PREDIV2)
1773 #define __HAL_RCC_PLL2_ENABLE() (*(__IO uint32_t *) RCC_CR_PLL2ON_BB = ENABLE)
1779 #define __HAL_RCC_PLL2_DISABLE() (*(__IO uint32_t *) RCC_CR_PLL2ON_BB = DISABLE)
1797 #define __HAL_RCC_PLL2_CONFIG(__PLL2MUL__)\
1798 MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL2MUL,(__PLL2MUL__))
1815 #define __HAL_RCC_I2S2_CONFIG(__I2S2CLKSOURCE__) \
1816 MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S2SRC, (uint32_t)(__I2S2CLKSOURCE__))
1823 #define __HAL_RCC_GET_I2S2_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S2SRC)))
1831 #define __HAL_RCC_I2S3_CONFIG(__I2S2CLKSOURCE__) \
1832 MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S3SRC, (uint32_t)(__I2S2CLKSOURCE__))
1839 #define __HAL_RCC_GET_I2S3_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S3SRC)))
1867 #if defined(STM32F105xC) || defined(STM32F107xC)
uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
RCC PLL configuration structure definition.
RCC Internal/External Oscillator (HSE, HSI, LSE and LSI) configuration structure definition.
uint32_t HSICalibrationValue
uint32_t PeriphClockSelection
HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
HAL_StatusTypeDef
HAL Status structures definition.
RCC extended clocks structure definition.
uint32_t AdcClockSelection
void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
uint32_t RTCClockSelection
This file contains HAL common defines, enumeration, macros and structures definitions.