Page 286 - MDP2022-2
P. 286

{
                      RCC_OscInitTypeDef  RCC_OscInitStruct  =  {0};
                      RCC_ClkInitTypeDef  RCC_ClkInitStruct  =  {0};


                      /**  Configure  the  main  internal  regulator  output  voltage
                      */
                      __HAL_RCC_PWR_CLK_ENABLE();
                      __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
                      /**  Initializes  the  RCC  Oscillators  according  to  the  specified  parameters
                      *  in  the  RCC_OscInitTypeDef  structure.
                      */
                      RCC_OscInitStruct.OscillatorType  =  RCC_OSCILLATORTYPE_HSI;
                      RCC_OscInitStruct.HSIState  =  RCC_HSI_ON;
                      RCC_OscInitStruct.HSICalibrationValue  =  RCC_HSICALIBRATION_DEFAULT;
                      RCC_OscInitStruct.PLL.PLLState  =  RCC_PLL_ON;
                      RCC_OscInitStruct.PLL.PLLSource  =  RCC_PLLSOURCE_HSI;
                      RCC_OscInitStruct.PLL.PLLM  =  8;
                      RCC_OscInitStruct.PLL.PLLN  =  180;
                      RCC_OscInitStruct.PLL.PLLP  =  RCC_PLLP_DIV2;
                      RCC_OscInitStruct.PLL.PLLQ  =  4;
                      if  (HAL_RCC_OscConfig(&RCC_OscInitStruct)  !=  HAL_OK)
                      {
                          Error_Handler();
                      }
                      /**  Activate  the  Over-Drive  mode
                      */
                      if  (HAL_PWREx_EnableOverDrive()  !=  HAL_OK)
                      {
                          Error_Handler();
                      }
                      /**  Initializes  the  CPU,  AHB  and  APB  buses  clocks
                      */
                      RCC_ClkInitStruct.ClockType  =  RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                                                                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
                      RCC_ClkInitStruct.SYSCLKSource  =  RCC_SYSCLKSOURCE_PLLCLK;
                      RCC_ClkInitStruct.AHBCLKDivider  =  RCC_SYSCLK_DIV1;
                      RCC_ClkInitStruct.APB1CLKDivider  =  RCC_HCLK_DIV4;
                      RCC_ClkInitStruct.APB2CLKDivider  =  RCC_HCLK_DIV2;


                      if  (HAL_RCC_ClockConfig(&RCC_ClkInitStruct,  FLASH_LATENCY_5)  !=  HAL_OK)
                      {
   281   282   283   284   285   286   287   288   289   290   291