stm32H723 外部晶振8MHZ,如何配置550MHZ运行频率
时间: 2023-07-02 15:17:10 浏览: 312
要将 STM32H723 MCU 的运行频率配置为 550MHz,您需要完成以下步骤:
1. 配置 PLL
使用外部8MHz的晶振作为PLL的时钟源,通过倍频和分频的方式将时钟提升为550MHz。
例如,可以使用如下代码配置PLL:
```
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 4;
RCC_OscInitStruct.PLL.PLLN = 275;
RCC_OscInitStruct.PLL.PLLP = 2;
RCC_OscInitStruct.PLL.PLLQ = 2;
RCC_OscInitStruct.PLL.PLLR = 2;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | 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)
{
Error_Handler();
}
```
2. 配置 Flash
由于运行频率提升,因此需要相应地调整 Flash 访问时间,以确保正确的操作和数据读取。
例如,可以使用如下代码配置 Flash:
```
HAL_FLASHEx_DisableRunPowerDown();
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();
__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
__HAL_FLASH_DATA_CACHE_ENABLE();
FLASH_SetLatency(FLASH_LATENCY_5);
```
请注意,上述代码仅供参考,您需要根据自己的具体需求进行相应的配置。
阅读全文