首页 > 代码库 > stm32时钟初探
stm32时钟初探
stm32时钟初探
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③LSI是低速内部时钟,RC振荡器,频率为40kHz。
④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
AHB=Advanced High Performance Bus,译作高级高性能总线。如同USB(Universal Serial Bus)一样,也是一种总线接口。
AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线
APB(the Advanced Peripheral Bus)
是本地二级总线(local secondary bus ),通过桥和AHB/ASB相连。它主要是为了满足不需要高性能流水线接口或不需要高带宽接口的设备的互连。
以下为说明
时钟有了大致了解,接下来看看代码上要怎么控制这些时钟
reset and clock control 即RCC
比如要用定时器3,就要先使能APB1时钟
RCC->APB1ENR|=1<<1; //TIM3时钟使能
我们来仔细研究下这段代码,RCC可以在stm32f10x.h中找到相关定义
这里具体地址是怎么算过来的比较麻烦,是一层一层叠加起来的,我在手册里也没找到直接的地址,这个就不细究了,哪怕用寄存器写stm32的代码也是包含stm32f10x.h的
这些就是RCC寄存器的定义,而AHBENR可以在手册中找到描述
以上就是使能相应外设的示例
stm32时钟初探
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。