更换外部晶振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中)。


相关文章
|
2月前
|
Linux
USRP N320更改主时钟频率及测试
USRP N320更改主时钟频率及测试
35 0
|
8月前
|
编解码 Serverless
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
29 1
|
11月前
|
C++
UE C++延迟调用实现(LatentAction方法)
UE C++延迟调用实现(LatentAction方法)
187 0
|
安全 网络协议 JavaScript
【玩转RT-Thread】 RT-Thread Studio使用(1)(按键控制电机正反转、蜂鸣器)
【玩转RT-Thread】 RT-Thread Studio使用(1)(按键控制电机正反转、蜂鸣器)
248 0
|
测试技术
PCD235B101 3BHE032025R0101 用于定时和触发的附加总线线路
PCD235B101 3BHE032025R0101 用于定时和触发的附加总线线路
80 0
PCD235B101 3BHE032025R0101 用于定时和触发的附加总线线路
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
599 0
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
212 0
STM32:定时器外部时钟软件代码部分(内含:1.实验现象如下+2.代码部分+3.注意事项)
|
消息中间件
RT-Thread记录(十一、I/O 设备模型之UART设备 — 源码解析)
深入理解 RT-Thread I/O 设备模型 — 分析 UART设备源码。
316 4
RT-Thread记录(十一、I/O 设备模型之UART设备 — 源码解析)
|
芯片
STM32F407外部晶体改为25M后检测不到芯片的解决办法
STM32F407外部晶体改为25M后检测不到芯片的解决办法
114 0
STM32F407外部晶体改为25M后检测不到芯片的解决办法
|
消息中间件 传感器 编解码
RT-Thread记录(十四、I/O 设备模型之ADC设备)
RT-Thread ADC 设备学习使用 ......by 矜辰所致
295 0
RT-Thread记录(十四、I/O 设备模型之ADC设备)