STM32
直播中

李晶

8年用户 1012经验值
私信 关注
[问答]

stm32f107外部晶振如何修改?

STM32 默认的f107外部晶振是25M,我的电路板焊接的是8M,想问一下有经验的人怎么改这一部分?

回帖(1)

刘涛

2024-5-10 17:52:56
要将STM32F107的外部晶振从默认的25MHz更改为8MHz,您需要按照以下步骤操作:

1. 更改晶振硬件:首先,确保您的电路板上已经焊接了8MHz的晶振。如果还没有,您需要将其焊接到相应的晶振引脚上。

2. 配置时钟源:在STM32F107中,您需要配置时钟源以使用外部晶振。这通常在STM32的时钟配置代码中完成。您需要设置RCC(Reset and Clock Control)寄存器以选择外部晶振作为时钟源。

3. 修改时钟配置代码:在您的STM32项目中,找到时钟配置代码(通常在启动文件或时钟初始化函数中)。修改代码以使用8MHz的外部晶振。以下是一些示例代码:

```c
RCC_OscInitStruct.RCC_PLLSource = RCC_PLLSource_HSE; // 使用外部晶振作为PLL时钟源
RCC_OscInitStruct.RCC_PLLMull = RCC_PLLMull_8; // PLL倍频器设置为8
RCC_OscInitStruct.RCC_HSEConfig = RCC_HSE_ON; // 启用外部晶振
RCC_OscInitStruct.RCC_SYSCLKDiv = RCC_SYSCLK_Div1; // 系统时钟分频设置为1
RCC_OscInitStruct.RCC_AHBFreq = 72000000; // AHB时钟频率设置为72MHz
RCC_OscInitStruct.RCC_APB2Div = RCC_APB2_Div1; // APB2时钟分频设置为1
RCC_OscInitStruct.RCC_APB1Div = RCC_APB1_Div2; // APB1时钟分频设置为2

RCC_ClockInitConfig(&RCC_OscInitStruct); // 应用时钟配置
```

请注意,这些值可能需要根据您的具体项目和需求进行调整。

4. 重新编译和烧录固件:修改时钟配置代码后,重新编译您的STM32项目并烧录到微控制器上。

5. 测试:在更改晶振并重新烧录固件后,测试您的STM32F107以确保它正常工作。

通过以上步骤,您应该能够成功地将STM32F107的外部晶振从25MHz更改为8MHz。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分