STM32F105、107RB使用外部晶振8M时配置外设时钟为72M
STM32F105、107属于互联型芯片在stm官方库文件设置中默认外接晶振为25MHZ,如果改用8M晶振,则需要修改官方库文件中的时钟配置,并在工程中只包含 startup_stm32f10x_cl.s。
1、头文件添加 #define STM32F10X_CL
2、在 "stm32f10x.h"中搜索HSE_VALUE,查看当前默认外部时钟晶振。
将25MHZ修改为8MHZ,
3、在"system_stm32f10x.c"搜索SetSysClockTo72(),因为我们的目的是通过外部8M晶振来将系统时钟配置成72M,而官方是默认外接25MHZ晶振的,所以还要修改寄存器(RCC_CFGR2)中PREDIV1,PREDIV2分频因子、PLL2MUL倍频因子。寄存器(RCC_CFGR)中的PLLMUL倍频系数。主要操作函数SetSysClockTo72()里面的一些配置。
修改之后
PLL2CLK = (HSE/2)*10 = 40MHz
PREDIV1CLK = PLL2/5 = 8MHz
4、头文件路径要有 "stm32f10x.h"的路径,否则有可能keil自动编译安装路径下的 "stm32f10x.h",导致没有修改成功。安装路径下的 "stm32f10x.h"有写保护,无法修改。
注意:一定要添加 "stm32f10x.h"在工程文件中的路径。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)