1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
/**
@page RCC_CRS_Synchronization_Polling RCC Clock Recovery Service example
@verbatim
******************************************************************************
* @file RCC/RCC_CRS_Synchronization_Polling/readme.txt
* @author MCD Application Team
* @brief Description of the RCC Clock Recovery Service example.
******************************************************************************
*
* Copyright (c) 2019 STMicroelectronics. All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
@endverbatim
@par Example Description
Configuration of the clock recovery service (CRS) in Polling mode, using the RCC HAL API.
At the beginning of the main program the HAL_Init() function is called to reset
all the peripherals, initialize the Flash interface and the systick.
Then the SystemClock_Config() function is used to configure the system
clock (SYSCLK) to run at 64 MHz.
Then, HSI48 and LSE oscillators are enabled. In this example CRS will use LSE
oscillator to calibrate HSI48 frequency.
When HSI48 and LSE are started, automatic calibration starts and program call the
polling function to wait for synchronization status.
In this test, there are results which could occur:
- few loops occurs up to SYNC OK event (if SYNC WARN, HSI48 trimming value will be
automatically modified)
- in case of SYNC MISS or SYNC ERROR, there is an issue with synchronization input
parameters. In this case, user need to apply new parameters after checking synchronization
information and restart the synchronization.
- LED3 power on means that a timeout occurred during polling procedure. It may
due to an issue with LSE synchronization frequency.
- LED2 will finally power on if SYNC OK is returned by CRS.
Note: HSI48 frequency can be checked with oscilloscope using MCO PIN PA.08
@par Keywords
RCC, System, Clock Configuration, CRS, System clock, HSI48, LSE, Oscillator, PLL, Polling
@par Directory contents
- RCC/RCC_CRS_Synchonization_Polling/Inc/stm32wbxx_hal_conf.h HAL configuration file
- RCC/RCC_CRS_Synchonization_Polling/Inc/stm32wbxx_it.h Interrupt handlers header file
- RCC/RCC_CRS_Synchonization_Polling/Inc/main.h Header for main.c module
- RCC/RCC_CRS_Synchonization_Polling/Src/stm32wbxx_it.c Interrupt handlers
- RCC/RCC_CRS_Synchonization_Polling/Src/main.c Main program
- RCC/RCC_CRS_Synchonization_Polling/Src/system_stm32wbxx.c STM32WBxx system source file
- RCC/RCC_CRS_Synchonization_Polling/Src/stm32wbxx_hal_msp.c HAL MSP module
@par Hardware and Software environment
- This example runs on STM32WB55RGVx Devices.
- This example has been tested with P-NUCLEO-WB55 board and can be
easily tailored to any other supported device and development board.
@par How to use it ?
In order to make the program work, you must do the following :
- Open your preferred toolchain
- Rebuild all files and load your image into target memory
- Run the example
* <h3><center>© COPYRIGHT STMicroelectronics</center></h3>
*/
|