IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 使用 CubeMX 配置 RCC 时钟 -> 正文阅读

[嵌入式]使用 CubeMX 配置 RCC 时钟

RCC时钟控制

STM32H7 有如下六种时钟可供使用:

  • HSI (High-speed internal oscillator) :

    HSI 是内部的高速 RC 振荡器,频率 64MHz,可被用于系统时钟。优势是低成本,无需外部时钟,快速启动(仅需几个微秒),缺点是精度差,即使经过校准。

  • HSE (High-speed external oscillator):

    HSE 是外部的高速振荡器,通过外接时钟源,有源或者无源晶振驱动,时钟范围 4-48MHz。优势是精度高,缺点是增加成本。

  • LSE (Low-speed external oscillator) :

    LSE 是外部的低速振荡器,通过外接时钟源,有源或者无源晶振驱动,一般接 32.768KHz,主要用于RTC 实时时钟

  • LSI (Low-speed internal oscillator) :

    LSI 是内部的低速 RC 振荡器,频率约是 32KHz,主要用于独立看门狗和自动唤醒,也可以用于 RTC实时时钟。

  • CSI (Low-power internal oscillator) :

    CSI 是内部低速振荡器,频率约是 4MHz,相比 64MHz 的 HSI,主要用于低功耗。

  • HSI48 (High-speed 48 MHz internal oscillator) :

    HSI48 是内部高速振荡器,频率约是 48MHz,用于给特定的外设提供时钟,比如 USB。

时钟树

在这里插入图片描述

时钟配置

STM32H7 开发板使用的外部晶振频率是 25MHz,下面分步说明如何让其通过这个频率工作到 400MHz 的主频。

  1. 在 stm32h7xx_hal_conf.h 文件配置 HSE_VALUE

    配置的大小要跟板子的实际晶振大小匹配。

    #if !defined (HSE_VALUE) 
    #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
    #endif /* HSE_VALUE */
    
  2. 系统上电后,在启动文件 startup_stm32h743xx.s 的复位中断服务程序里面会调用函数 SystemInit。

    Reset_Handler 	PROC
        			EXPORT Reset_Handler [WEAK]
        IMPORT SystemInit
        IMPORT __main
        
        	LDR R0, =SystemInit
            BLX R0
            LDR R0, =__main
        	BX R0
            ENDP
    
  3. 以往 STM32F1 和 STM32F4 系列都会在函数 SystemInit 里面配置 PLL 锁相环,使用了 HAL 后,需要在 main 函数里面配置。也就是在 main() 里面调用 SystemClock_Config() 进行配置。

  4. SystemClock_Config() 可以使用 STM32Cubemx 进行配置,如果要自己实现会相对复杂,需要对比寄存器手册。

CubeMx 配置系统时钟

RCC 时钟的配置可以使用 stm32 官方提供的 CubeMX 进行配置。

下载地址 STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics

使用

打开 STM32CubeMX 选择 MCU 进行配置
在这里插入图片描述
这时候会创建一个工程
在这里插入图片描述
创建工程后,我们找到 System Core 里的 RCC
在这里插入图片描述
我们选择 HSE 使用外部晶振:
在这里插入图片描述
如上我们打开 Clock Configuration 配置。

时钟源我们选择和开发板一样的晶振频率(安富莱v7),然后可以按照如下图配置。

然后打开 Project Manager 选择 Toolchain/IDE 这里我们生成 MDK 工程,设置好输出的路径后,我们就可以点击右上方的 GENERATE CODE 生成 MDK 工程了。

然后我们就可以打开 main.c 文件,可以找到一个 SystemClock_Config() 函数,该函数就是对 RCC 时钟的配置,只需要将其复制黏贴到我们的工程中就可以了。
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:58:04  更:2022-10-08 21:00:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 20:32:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码