大家都知道,嵌入式硬件的启动第一步肯定是时钟。就像人类的心脏一样,必须先有心跳,才会有以后的吃、喝、玩、乐。我们的stm32f030也是一样的。
ST官方给出了如何配置外置无源晶振的示例——本人觉得非常不方便学习。一来是通过寄存器的方式来编写的,不利于新手们去学习,去理解。另一方面,也不利于我们平时快速的移植。
在进阶的学习中,我们放弃官方原有的时钟启动方式,使用库函数的方式来配置系统时钟,并且,我们使用内置的HIS时钟。这样,不仅非常有利于我们学习,而且更适合我们小型化低成本的要求。
在这里,楼主贴出来HIS时钟初始化的伪代码,希望网友们多来参与并实现。
P.S. 回帖上传源代码的网友是有积分相赠的哟~~
Void HIS时钟配置函数(void) { 复位RCC时钟; 使能HIS时钟; 查询HIS时钟标志位; If(HIS时钟使能) { 使能FLASH_PrefetchBufferCmd; 设置FLASH_SetLatency; 配置HCLK; 配置PCLK2; 主时钟选择HIS; 等待主时钟稳定; } Else { 主时钟启动失败,在这里处理错误信息; } }