您的位置 首页 测评

STM32时钟了解

一、硬件上的连接问题如果使用内部RC振荡器而不使用外部晶振,请按照如下方法处理:1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬

一、硬件上的衔接问题

假如运用内部RC振荡器而不运用外部晶振,请依照如下办法处理:

1)关于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
2)关于少于100脚的产品,有2种接法:
i)OSC_IN和OSC_OUT别离经过10K电阻接地。此办法可进步EMC功用。
ii)别离重映射OSC_IN和OSC_OUT至PD0和PD1,再装备PD0和PD1为推挽输出并输出0。此办法能够减小功耗并(相对上面i)节约2个外部电阻。

STM32时钟体系结构图

时钟是STM32单片机的脉息,是单片机的驱动源。运用任何一个外设都有必要翻开相应的时钟。这样的优点便是,假如不运用一个外设的时分,就把它的时钟关掉,然后能够下降体系的功耗,到达节能,完成低功耗的作用。

STM32单片机的时钟能够由以下3个时钟源供给:

1、HSI:高速内部时钟信号STM32单片机内带的时钟 (8M频率), 精度较差

2、HSE:高速外部时钟信号,精度高。

来历:i. HSE外部晶体/陶瓷谐振器(晶振);

ii.HSE用户外部时钟

3、LSE:低速外部晶体 32.768kHz 首要供给一个准确的时钟源 一般作为RTC时钟运用

STM32单片机的将时钟信号(例如HSE)经过分频或倍频(PLL)后,得到体系时钟,体系时钟经过分频,发生外设所运用的时钟。

上图为STM32整个时钟架构。

为了便于更好了解STM32单片机的时钟,下面以HSE时钟的运用为例。

设置时钟流程:

1、将RCC寄存器从头设置为默认值RCC_DeInit

2、翻开外部高速时钟晶振HSERCC_HSEConfig(RCC_HSE_ON);

3、等候外部高速时钟晶振作业HSEStartUpStatus = RCC_WaitForHSEStartUp();

4、设置AHB时钟RCC_HCLKConfig;

5、设置高速AHB时钟RCC_PCLK2Config;

6、设置低速速AHB时钟RCC_PCLK1Config

7、设置PLLRCC_PLLConfig

8、翻开PLLRCC_PLLCmd(ENABLE);

9、等候PLL作业while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

10、设置体系时钟RCC_SYSCLKConfig

11、判别是否PLL是体系时钟while(RCC_GetSYSCLKSource() != 0x08)

12、翻开要运用的外设时钟RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

在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。

其间40kHz的LSI供独立看门狗IWDG运用,别的它还能够被挑选为实时时钟RTC的时钟源。别的,实时时钟RTC的时钟源还能够挑选LSE,或许是HSE的128分频。RTC的时钟源经过RTCSEL[1:0]来挑选。

STM32中有一个全速功用的USB模块,其串行接口引擎需求一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取,能够挑选为1.5分频或许1分频,也便是,当需求运用USB模块时,PLL有必要使能,而且时钟频率装备为48MHz或72MHz。

别的,STM32还能够挑选一个时钟信号输出到MCO脚(PA8)上,能够挑选为PLL输出的2分频、HSI、HSE、或许体系时钟。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/257551.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部