stm32延时us寄存器_STM32系统时钟和延迟函数初始化

本文详细介绍了STM32系统时钟的初始化流程,包括HSI、HSE和PLL时钟源的选择与配置。以外部晶振8M、系统时钟72M为例,展示了如何进行系统时钟的设置。同时,文章还讲解了如何利用SysTick系统心跳定时器实现精确的延时功能,包括延迟函数的原理和步骤,以及相关的寄存器操作。
摘要由CSDN通过智能技术生成

STM32有三种不同的时钟源可被用来驱动系统时钟(SYSCLK):

1:HSI振荡器时钟(内部时钟)

2:HSE振荡器时钟 (外部时钟,即晶振所提供)

3:PLL时钟(锁相环时钟)

这些设备有以下2种二级时钟源:

(1)40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。

(2)32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。

当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功

下面是以外部晶振8M,系统时钟72M为例。

STM32系统时钟初始化流程如下:

1、复位并配置向量表;

2、使能外部高速中断HSEON,并等待就绪;

3、RCC->CFGR=0X00000400;设置APB1,如先把前面的设置好之后,再来设置APB1就已经来不及了,所以必须先二分频,因为要求APB1不超过36MHz,前面最大为72MHz,故二分频即可;

4、RCC->CFGR|=PLL<<18;设置锁相环放大倍数,及时钟树的PLLMUL;

5、RCC->CFGR|=1<<16;  选择HSE作    为PLL输入;

6、FLASH->ACR|=0x32;   FLASH 2个延迟周期

7、RCC->CR|=0x01000000; 使能PLL,并等待就绪;

8、RCC-&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值