当前位置: 首页 > news >正文

STM32——时钟系统

总 :STM32——学习总纲

参考资料:

STM32F1系列参考手册_V10(中)

stm32芯片资料STM32F103ZET6(English)

芯片资料STM32F103ZET6(中文版)

STM32F10xxx闪存编程参考手册

一、时钟树

1.1 什么是时钟(单片机)

1.2 时钟树(F1)

其他系列看B站视频。

1.2.1 振荡器

RC:RC振荡器

1.2.2 时钟树简图

1.2.3 参考手册分析

外部高速晶振(High speed External)

外部低速晶振(Low speed External)

内部高速晶振(High speed Internal),内部低速晶振(Low speed Internal)

1.2.4 芯片手册总线

AHB、APB1、APB2

1.2.5 配置时钟树 HAL 库函数

时钟源、锁相环HAL_RCC_OscConfig()
系统时钟、总线HAL_RCC_ClockConfig()
使能外设时钟__HAL_RCC_PPP_CLK_ENABLE()为了低功耗,默认不使能外设时钟。
拓展外设时钟(RTC/ADC/USB)HAL_RCCEx_PeriphCLKConfig()外设时钟配置,不同系列外设配置不同

(F4,F7,H7)具体配置看参考手册和芯片手册具体总线时钟配置

1.2.6 STM32CubeMX 时钟树配置页面

二、配置系统时钟(F1)

2.1 系统时钟配置步骤简图

H7系列才在sys_stm32_clock_init()中有第5步。

2.2 外设时钟使能和失能

2.3 sys_stm32_clock_init()

一般靠以下两个HAL库函数实现

2.3.1 HAL_RCC_OscConfig()

即 控制寄存器。

参考手册中的RCC寄存器描述

例如HSI校准:

2.3.2 HAL_RCC_ClockConfig()

STM32F10xxx闪存编程参考手册

等待周期:

F1系统时钟72MHz,FLASH时钟来源于系统时钟(FLASH最大24M)

2.4 工程代码配置系统时钟

2.4.1 配置 HSE_VALUE

2.4.2 调用 SystemInit 函数

在启动文件中调用。

不想调用就屏蔽

具体定义

2.4.3 sys_stm32_clock_init()函数定义与 HAL库函数调用

具体配置参数是在时钟树配置时的选择值。

HAL库函数的参数也就是相应寄存器的控制,不关心具体寄存器地址,关心寄存器控制值。(简化寄存器控制)

http://www.dtcms.com/a/323038.html

相关文章:

  • BMS三大领域:电池、楼宇与业务管理系统解析
  • STranslate(翻译OCR工具) v1.5.4.801绿色版,屏幕文字秒译,OCR识别零门槛
  • C++ unordered_map 和 unordered_set 的使用
  • 神经网络-local minima and saddle point
  • 【linux基础】Linux目录和Windows目录的区别
  • ACF插件编辑器无法插入相册的原因及解决方案
  • 黑马点评07 - 附近商户/用户签到/UV统计
  • 【Python 高频 API 速学 ⑦ · 完结篇】
  • CrystalDiskInfo 9.0.1 安装教程 - 硬盘检测工具下载安装步骤详解
  • 【智能穿戴设备】2025智能穿戴隐私危机:数据安全保障技术深度剖析
  • RecyclerView 中 ViewHolder
  • C# OnnxRuntime yolov8 纸箱检测
  • 动态规划(相同地方不同状态)
  • 如何控制需求交付节奏
  • 【数据分析】03 - pandas
  • 深入解析QUIC协议:下一代音视频传输技术的突破与实践
  • 前端如何安全存储 API 密钥 —— 两种实用方案
  • 动手学深度学习(pytorch版):第二章节——预备知识(1)——数据操作
  • pytorch llm 计算flops和参数量
  • 【C++】继承机制全解析
  • Spring-rabbit使用实战七
  • 48伏电气系统—— 铺就电动出行之路的关键技术
  • 大语言模型中的幻觉
  • 24SpringCloud黑马商城微服务整合Seata重启服务报错的解决办法
  • 使用SymPy lambdify处理齐次矩阵的高效向量化计算
  • Poetry与UV——现代Python依赖管理的革新者
  • GitHub 趋势日报 (2025年08月08日)
  • java10学习笔记
  • EPI2ME分析软件测试
  • Java 8 特性