stm32时钟初探
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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时钟初探的主要内容,如果未能解决你的问题,请参考以下文章