STM32F411系统时钟配置步骤/HAL

1.配置HSE_VALUE            在stm32f4xx_hal_conf.h

2. SystemInit();   SystemClock_Config();

3.选择时钟源,配置PLL        HAL_RCC_OscConfig();

4.选择系统时钟源,配置总线分频器 HAL_RCC_ClockConfig();

5.配置外设时钟 

////////////////////////////////////////////////////////////////

void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0}; /* 创建RCC_OscInitTypeDef类型结构体RCC_OscInitStruct */
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /* 创建RCC_ClkInitTypeDef类型结构体RCC_ClkInitStruct */
  /** Configure the main internal regulator output voltage 
  */
  __HAL_RCC_PWR_CLK_ENABLE(); /*使能PWR时钟 调压器功能需要 后面设置调压器输出电压级别是电源控制相关配置,所以必须开启 PWR 时钟*/
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器级别1
  
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;/*选择需要配置的时钟源,此处选址HSE*/
  RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;//HSE为旁路模式
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;//打开锁相环PLL
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;//PLL时钟源为HSE
  RCC_OscInitStruct.PLL.PLLM = 4;//分频4
  RCC_OscInitStruct.PLL.PLLN = 84;//倍频84
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;//分频2
  RCC_OscInitStruct.PLL.PLLQ = 4;//分频4
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)//时钟源初始化
  {
    Error_Handler();
  }
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;//选择需要配置的时钟HCKL,SYSCLK,PCLK1,PCLK2
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;//SYSCLK时钟源选择锁相环时钟
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;//AHB分频系数
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;//APB1分频系数
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;//APB2分频系数

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)//时钟初始化,Flash等待周期LATENCY选2
  {
    Error_Handler();
  }
  /** Enables the Clock Security System 
  */
  HAL_RCC_EnableCSS();
}

 

posted @   Yannnnnnn  阅读(616)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示