main.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include "stm32g0xx_hal.h"
  2. void SystemClock_Config(void);
  3. void Error_Handler(void);
  4. //static void MX_GPIO_Init(void);
  5. int main()
  6. {
  7. uint32_t cnt;
  8. HAL_Init();
  9. SystemClock_Config();
  10. while (true)
  11. {
  12. for (int i = 0; i < 3; i++)
  13. {
  14. cnt++;
  15. }
  16. }
  17. //MX_GPIO_Init();
  18. return 0;
  19. }
  20. void SystemClock_Config(void)
  21. {
  22. RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  23. RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  24. /** Configure the main internal regulator output voltage
  25. */
  26. HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
  27. /** Initializes the RCC Oscillators according to the specified parameters
  28. * in the RCC_OscInitTypeDef structure.
  29. */
  30. RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  31. RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  32. RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1;
  33. RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  34. RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  35. RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
  36. RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
  37. RCC_OscInitStruct.PLL.PLLN = 16;
  38. RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  39. RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV4;
  40. if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  41. {
  42. Error_Handler();
  43. }
  44. /** Initializes the CPU, AHB and APB buses clocks
  45. */
  46. RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  47. |RCC_CLOCKTYPE_PCLK1;
  48. RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  49. RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  50. RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  51. if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  52. {
  53. Error_Handler();
  54. }
  55. }
  56. //
  57. void Error_Handler(void)
  58. {
  59. __disable_irq();
  60. while (1) {}
  61. }