STM32时钟相关的一些内容

本文介绍了STM32F105/107如何使用startup_stm32f10x_cl.s启动文件配置外部25MHz晶振,并在system_stm32f10x.c中启用HSE旁路。系统时钟在复位后默认为HSI,当HSE开启失败或故障时会自动切换到HSI。同时,文章还提及了时钟输出和系统时钟选择的细节,包括MCO时钟源选择及系统时钟的切换条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

stm32f105、107使用启动文件startup_stm32f10x_cl.s(互联型)。外部晶振一般为25MHz
在system_stm32f10x始终配置文件中,需要配置**外部时钟源(HSE旁路)*RCC_CR_HSEBYP
/
Enable HSE */
RCC->CR |= (((uint32_t)RCC_CR_HSEON)|((uint32_t)RCC_CR_HSEBYP));
参考STM32中文参考手册P81
外部时钟源(HSE旁路)(有源晶振)
设置在时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式。

STM32中文参考手册P56
定时器时钟频率分配由硬件按以下2种情况自动设置:

  1. 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。
  2. 否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。

STM32中文参考手册P59
6.2.10 时钟输出
微控制器允许输出时钟信号到外部MCO引脚。
相应的GPIO端口寄存器必须被配置为相应功能。以下四个时钟信号可被选作MCO时钟:
● SYSCLK
● HSI
● HSE
● 除2的PLL时钟
时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。

STM32中文参考手册P59
6.2.6 系统时钟(SYSCLK)选择
**系统复位后,HSI振荡器被选为系统时钟。**当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止。只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟源就绪,才发生切换。
在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。
当 HSE 开启失败或者故障的时候,单片机会自动把 HSI 设置为系统时钟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值