STM32 M0时钟配置

本文详细介绍了STM32 M0的时钟配置,包括HSI、HSE、LSE、LSI四种时钟源的使用及配置方法,以及如何为I2C1、I2S、AHB等外设选择合适的时钟源。通过理解时钟树,有助于开发者更好地掌握STM32 M0的时钟管理。
摘要由CSDN通过智能技术生成

本文主要讲STM32 M0的时钟配置。

先来看看M0内核的时钟树(stm32f072)


图中可以看出,M0芯片的时钟源有4个,一个高速内部RC时钟源,频率为8M;一个高速外部时钟源,频率为8到32MHz;一个低速外部时钟源,频率一般为32.768kHz;一个低速内部时钟源,频率为40kHz;

一、HSI

芯片上电的时候默认启用内部RC震荡,即8MHz的内部时钟源,如果对时钟要求不是特尔高的时候,使用内部时钟也够了,省下一个外部晶振的钱。

下面首先说说使用内部时钟的配置,官方提供的demo默认的就是使用内部时钟的,我们先从时钟树分析,HSI(8MHz)启动,经过PLLSRC(锁相环时钟源选择寄存器),然后来到PREDIV(预分频器),预分频器选择不分频,然后是PLLMUL(锁相环倍频),这里倍频6倍,得到48MHz的频率,注意不要高于48MHz,芯片最大支持的就是48MHz.,然后是SW(时钟源选择寄存器),这里选择PLLCLK(倍频后的锁相环时钟),其实在

STM32F030系列微控制器是ST公司生产的一款基于ARM® Cortex®-M0处理器的32位微控制器,具有丰富的外设接口,适用于成本敏感型应用。时钟配置STM32F030运行的基础,因为它决定了CPU和外设的运行频率。以下是STM32F030时钟配置的一般步骤: 1. 系统启动时,内部高速时钟(HSI)默认作为系统时钟源。HSI是一个8MHz的内部振荡器。 2. 使用内部低速时钟(LSI)或外部振荡器(HSE)作为时钟源。HSE允许使用外部晶振,可以提供更精确的时钟信号。 3. 通过时钟配置,可以设置PLL(相位锁环)来倍增时钟频率STM32F030的PLL可以将HSI或HSE作为输入时钟源,并将其频率倍增。 4. 将PLL的输出或直接使用HSI、HSE作为系统时钟。通过配置系统时钟控制寄存器(RCC_CFGR)来选择PLL、HSI或HSE作为系统时钟源,并设置适当的预分频值。 5. 时钟安全系统(CSS)可以被启用,以监视外部高速时钟(HSE)的稳定性。如果HSE出现问题,CSS能够自动切换到HSI。 6. 对于时钟输出和时钟配置的监视,STM32F030提供了多个时钟输出配置(CCO),允许将不同的时钟信号输出到一个引脚,方便调试。 配置时钟时,需要在STM32的启动代码中或通过系统初始化函数进行设置,这通常涉及到对STM32时钟控制寄存器(RCC)的操作。 在实际应用中,还需要使用STM32CubeMX工具或STM32的库函数来简化时钟配置的过程。STM32CubeMX是ST提供的图形化工具,能够根据用户选择的配置自动生成初始化代码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值