|
1 | 1 | /*
|
2 | 2 | *******************************************************************************
|
3 |
| - * Copyright (c) 2020-2021, STMicroelectronics |
| 3 | + * Copyright (c) 2020-2022, STMicroelectronics |
4 | 4 | * All rights reserved.
|
5 | 5 | *
|
6 | 6 | * This software component is licensed by ST under BSD 3-Clause license,
|
@@ -30,42 +30,53 @@ WEAK void SystemClock_Config(void)
|
30 | 30 | */
|
31 | 31 | __HAL_RCC_PWR_CLK_ENABLE();
|
32 | 32 | __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
|
| 33 | + |
33 | 34 | /** Initializes the RCC Oscillators according to the specified parameters
|
34 | 35 | * in the RCC_OscInitTypeDef structure.
|
35 | 36 | */
|
36 |
| - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; |
37 |
| - RCC_OscInitStruct.HSEState = RCC_HSE_OFF; |
| 37 | + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; |
| 38 | + RCC_OscInitStruct.HSIState = RCC_HSI_ON; |
| 39 | + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; |
38 | 40 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
39 |
| - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; |
| 41 | + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; |
40 | 42 | RCC_OscInitStruct.PLL.PLLM = 8;
|
41 | 43 | RCC_OscInitStruct.PLL.PLLN = 100;
|
42 | 44 | RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
43 | 45 | RCC_OscInitStruct.PLL.PLLQ = 4;
|
44 | 46 | RCC_OscInitStruct.PLL.PLLR = 2;
|
45 |
| - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { |
| 47 | + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) |
| 48 | + { |
46 | 49 | Error_Handler();
|
47 | 50 | }
|
| 51 | + |
48 | 52 | /** Initializes the CPU, AHB and APB buses clocks
|
49 | 53 | */
|
50 |
| - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK |
51 |
| - | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; |
| 54 | + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |
| 55 | + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; |
52 | 56 | RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
53 | 57 | RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
54 | 58 | RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
|
55 | 59 | RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
|
56 | 60 |
|
57 |
| - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) { |
| 61 | + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) |
| 62 | + { |
58 | 63 | Error_Handler();
|
59 | 64 | }
|
60 |
| - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SDIO | RCC_PERIPHCLK_CLK48; |
61 |
| - PeriphClkInitStruct.PLLI2S.PLLI2SN = 192; |
62 |
| - PeriphClkInitStruct.PLLI2S.PLLI2SM = 16; |
| 65 | + |
| 66 | + /** Initializes the peripherals clock |
| 67 | + */ |
| 68 | + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_PLLI2S|RCC_PERIPHCLK_CLK48 |
| 69 | + |RCC_PERIPHCLK_SDIO|RCC_PERIPHCLK_I2S_APB2; |
| 70 | + PeriphClkInitStruct.PLLI2S.PLLI2SN = 72; |
| 71 | + PeriphClkInitStruct.PLLI2S.PLLI2SM = 8; |
63 | 72 | PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
|
64 |
| - PeriphClkInitStruct.PLLI2S.PLLI2SQ = 4; |
| 73 | + PeriphClkInitStruct.PLLI2S.PLLI2SQ = 3; |
65 | 74 | PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLI2SQ;
|
66 | 75 | PeriphClkInitStruct.SdioClockSelection = RCC_SDIOCLKSOURCE_CLK48;
|
| 76 | + PeriphClkInitStruct.I2sApb2ClockSelection = RCC_I2SAPB2CLKSOURCE_PLLI2S; |
67 | 77 | PeriphClkInitStruct.PLLI2SSelection = RCC_PLLI2SCLKSOURCE_PLLSRC;
|
68 |
| - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { |
| 78 | + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) |
| 79 | + { |
69 | 80 | Error_Handler();
|
70 | 81 | }
|
71 | 82 | }
|
|
0 commit comments