STM32如何修改外部晶振频率和主频

对于STM32F10x系列的单片机,除了STM32F10x_CL单片机,其它的单片机一般外部晶振HSE的时钟频率都默认是8MHz。如果我们使用的外部晶振为12Mhz,那么可以把上图绿色标记改为:12000000

72MHz的主频=8MHz的外部晶振HSE*倍频系数9。当然如果像上面把外部晶振改为12Mhz之后,还想要主频为72MHz,则需要把倍频系数设置为6,即第二处蓝色标记改为:RCC_CFGR_PLLMULL6

### 如何在 Keil 5 中配置外部晶振 #### 配置目标设备参数 为了使项目能够识别并使用外部晶振,在Keil MDK环境中,需先设定好目标器件的相关参数。这通常是在项目的选项设置中完成的。通过双击工程管理窗口中的Target名称进入Options for Target对话框[^1]。 #### 设置时钟频率 当遇到XTAL(晶体振荡器)设置项呈现灰色不可编辑的情况,可能是因为当前使用的版本存在某些限制或是默认加载的目标配置不允许修改此值。此时可以尝试手动调整相关寄存器来改变系统的时钟源以及倍频系数等参数以适应新的外接晶振频率[^2]。 对于具体的STM32系列单片机而言,如果要从内部高速RC切换到外部8MHz HSE作为PLL输入,则可以通过如下方式修改初始化代码: ```c // 原始配置 PLL 使用HSE 并且倍频为9次 (72 MHz) RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); // 更改为使用HSE并且倍频6次(48MHz),适用于不同需求下的系统工作频率调整 RCC->CFGR &= ~(uint32_t)RCC_CFGR_PLLMULL; RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); ``` 上述操作会直接影响到微控制器的工作频率,请确保所选的频率范围符合硬件手册的要求,并考虑到实际应用场景的需求[^3]。 #### 更新启动文件其他资源 除了更改内核与时钟相关的寄存器之外,还需要确认启动文件(.s/.asm),链接脚本(.sct 或 .ld),以及其他任何依赖于特定时钟速度定义的地方都得到了适当更新,以便整个应用程序能稳定运行在新指定的时钟速率下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值