当前位置:实例文章 » 其他实例» [文章]STM32F4基于标准库外部时钟配置方法

STM32F4基于标准库外部时钟配置方法

发布人:shili8 发布时间:2025-02-23 05:42 阅读次数:0

**STM32F4基于标准库外部时钟配置方法**

在STM32F4系列微控制器中,外部时钟(HCLK)是系统时钟的基础。正确配置外部时钟对于确保系统正常运行至关重要。在本文中,我们将介绍如何使用标准库函数来配置STM32F4系列微控制器上的外部时钟。

**外部时钟配置**

在STM32F4系列微控制器中,外部时钟由一个晶振或其他时钟源提供。该时钟源的频率通常为48MHz或96MHz。在本文中,我们将使用48MHz的晶振作为示例。

首先,我们需要定义外部时钟的配置参数。这些参数包括时钟源的频率、时钟分频系数等。我们可以在系统初始化函数中进行配置。

cvoid SystemClock_Config(void) {
 // 时钟源频率:48MHz RCC_OscInitTypeDef RCC_OscInitStruct = {0};
 RCC_OscInitStruct.OscillatorType = RCC_OSCILLERTYPE_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 =1;
 RCC_OscInitStruct.PLL.PLLN =48;
 RCC_OscInitStruct.PLL.PLLP =0;
 RCC_OscInitStruct.PLL.PLLQ =4;
 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
 Error_Handler();
 }

 // 时钟分频系数:2 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK;
 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
 RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2;
 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
 Error_Handler();
 }
}

在上述代码中,我们定义了外部时钟的配置参数,包括时钟源频率、时钟分频系数等。我们使用HAL库函数来配置外部时钟。

**系统初始化**

在系统初始化函数中,我们需要调用上述配置外部时钟的函数。
cint main(void) {
 // 系统初始化 HAL_Init();
 SystemClock_Config();

 // 主循环 while (1) {
 // TODO:添加主循环逻辑 }
}

在上述代码中,我们首先调用HAL库函数来初始化系统,然后调用配置外部时钟的函数。

**总结**

在本文中,我们介绍了如何使用标准库函数来配置STM32F4系列微控制器上的外部时钟。我们定义了外部时钟的配置参数,包括时钟源频率、时钟分频系数等,然后使用HAL库函数来配置外部时钟。在系统初始化函数中,我们需要调用上述配置外部时钟的函数。

相关标签:
其他信息

其他资源

Top