更换外部晶振RT-Thread中修改频率

简介: 更换外部晶振RT-Thread中修改频率

使用STM32CubeMX生成一个标准工程,记得修改要更改的外部晶振,我这里是从原本的8MHz改成25MHz所以我这里要生成的工程的频率就修改为25MHz

打开工程过后再main文件中找到这段代码复制下来

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
  /** Configure the main internal regulator output voltage 
  */
  __HAL_RCC_PWR_CLK_ENABLE();
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
  RCC_OscInitStruct.LSIState = RCC_LSI_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 25;
  RCC_OscInitStruct.PLL.PLLN = 336;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 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;
  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();
  }
  PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
  PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
}

然后我们回到RT-Thread工程中搜索这个函数

然后跳转到这个函数把我们前面复制的函数覆盖到里面然后编译就完成了(这个函数再board.c中)。


相关文章
|
7月前
|
Linux
USRP N320更改主时钟频率及测试
USRP N320更改主时钟频率及测试
100 0
|
物联网
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
546 0
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
|
调度 芯片
【玩转RT-Thread】 时钟管理(原理+实战)
【玩转RT-Thread】 时钟管理(原理+实战)
383 0
FBM232 P0926GW 异步CPU使用全局时钟信号
FBM232 P0926GW 异步CPU使用全局时钟信号
92 0
FBM232 P0926GW 异步CPU使用全局时钟信号
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
1235 0
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
255 0
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
|
芯片
STM32F407外部晶体改为25M后检测不到芯片的解决办法
STM32F407外部晶体改为25M后检测不到芯片的解决办法
134 0
STM32F407外部晶体改为25M后检测不到芯片的解决办法
提升知识点---使用设备数进行led控制
提升知识点---使用设备数进行led控制
78 0
|
消息中间件 传感器 编解码
RT-Thread记录(十四、I/O 设备模型之ADC设备)
RT-Thread ADC 设备学习使用 ......by 矜辰所致
378 0
RT-Thread记录(十四、I/O 设备模型之ADC设备)
|
消息中间件 传感器 缓存
RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)
从 UART 设备开始学会使用 RT-Thread I/O 设备模型 。
373 0
RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)