STM32开发笔记1: STM32F407时钟配置

本文详细介绍了STM32F407的时钟源分类,包括LSI、LSE、HSE、HSI和PLL,并重点解析了主PLL(PLLP)的计算方法以及在程序中的配置步骤,适用于STM32开发者了解和配置时钟系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单片机型号:STM32F407


    本文讲解STMF407时钟的使用及其配置方法。
    
    1、STM32F407的分类
        a、LSI是低速内部时钟,RC震荡器,频率为32KHz左右。供独立看门狗和自动唤醒单元使用。

        b、LSE是低速外部时钟,接频率为32.768KHz的石英晶体。这个主要是RTC的时钟源。

        c、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz-26MHz。

        d、HSI是高速内部时钟,RC振荡器,频率为16MHz。可以直接作为系统时钟或者用作PLL输入。

        e、PLL为锁相环倍频输出,STM32F4有两个PLL:

    主PLL由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。

PLLP:用于生成高速的系统时钟(最高168MHz)

PLLQ:用于生成USB OTG FS的时钟(48MHz)、随机

### STM32F407时钟配置方法 #### 配置概述 STM32CubeMX 是一款功能强大的图形化工具,能够简化基于STM32微控制器的开发过程。对于STM32F407系列芯片而言,在“Clock Configuration”选项卡中可以完成系统时钟和外设时钟的频率设定[^1]。 当进入该界面后,可以通过调整PLL(Phase-Locked Loop)、AHB/APB总线分频器以及内部/外部晶振参数来实现目标工作频率的设置。这些操作会直接影响到MCU性能表现及其功耗水平[^2]。 #### 外部高速与时钟源选择 针对高性能需求的应用场景下,推荐启用HSE(External High Speed Oscillator),它提供了更加精确稳定的基准信号给整个系统的运行提供保障;而对于一些特定的功能模块比如RTC(real time counter),则需要用到LSE(Low-speed external oscillator)作为其独立供电下的计时依据,一般固定为32.768KHz[^3]. #### 主要步骤说明如下: - **启动项目并选定设备型号** 打开STM32CubeMX软件之后新建工程文件,并从中挑选出对应的目标器件——即这里所讨论的对象STM32F407VE/VET/E/Z/N/G/B/C/D/W/R/P/T/U/Y/M/L/K/J/H/F/E-DISCO板子之一版本号即可满足要求. - **访问时钟树结构编辑页面** 完成上述基本初始化动作以后,“Pinout & Configuration”标签页里找到 “Clock Configuration”,点击进去就能看到详细的时钟架构图解视窗呈现出来供进一步定制修改之用了。 - **定义核心处理器速度及其他关联参数** 根据实际应用场景的不同考量因素综合权衡决定最终数值大小范围内的合理取舍方案。例如常见的 Cortex-M4 内核最高可达 168 MHz 的主频限制条件下进行优化处理得到最佳平衡点位置处停止迭代计算流程直至达到预期效果为止。 下面给出一段简单的C语言代码片段展示如何读取当前系统时钟: ```c #include "stm32f4xx_hal.h" uint32_t GetSysClockFreq(void){ return HAL_RCC_GetSysClockFreq(); } ``` 此函数利用HAL库封装好的API接口调用来获取实时更新后的全局变量存储地址指向的内容返回给调用者继续后续逻辑运算分析判断分支走向等等用途广泛适用性强兼容性好易于维护扩展升级等功能特性兼具一身值得信赖长期合作共谋发展大业! ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snmplink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值