|
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