[STM32F3] STM32F302C8HSE晶振无法工作

[复制链接]
79|0
我的牙白 发表于 2025-10-20 22:21 | 显示全部楼层 |阅读模式
使用St Cube IDE 给STM32F302C8创建了新项目。在调试程序时发现HSE晶振无法工作(Systick始终为0)。代码最终陷入死循环循环。

void SystemClock_Config(void)


{


  RCC_OscInitTypeDef RCC_OscInitStruct = {0};


  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};


  /** Initializes the RCC Oscillators according to the specified parameters


  * in the RCC_OscInitTypeDef structure.


  */


  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;


  RCC_OscInitStruct.HSEState = RCC_HSE_ON;


  RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;


  RCC_OscInitStruct.HSIState = RCC_HSI_ON;


  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;


  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;


  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;


  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != 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_DIV2;


  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;


  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)


  {


    Error_Handler();


  }


}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

59

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部