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种情况自动设置:
- 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。
- 否则,定时器的时钟频率被设为与其相连的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 设置为系统时钟。