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

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.xdnf.cn/news/17476.html

相关文章:

  • WinForm 中 ListView 控件的实战应用与功能拓展
  • Bee 2.5.2.6 发布
  • 库函数蜂鸣器的使用(STC8)
  • Typora上传图片保存到assets目录下
  • 线程池多反应堆服务器webserver(c++)
  • Web文件上传:本地与云存储实战
  • 数据分析框架从 “工具堆砌” 转向 “智能协同”
  • 每日算法刷题Day59:8.9:leetcode 队列8道题,用时2h30min
  • 【JVM】深入解析Java虚拟机
  • 全志MPP学习(1)-全志MPP概念理清
  • VisionPro常用标定方式
  • Java学习Collection单列集合中的三种通用遍历方法
  • CPO-SVM分类预测+特征贡献SHAP分析,通过特征贡献分析增强模型透明度,Matlab代码实现,引入SHAP方法打破黑箱限制,提供全局及局部双重解释视角
  • Vue 服务端渲染(SSR)详解
  • 饿了么零售 sign 分析
  • [ MySQL 数据库 ] 环境安装配置和使用
  • 支付宝「安全发-甲方直发」架构详解及与「安全发ISV模式」对比
  • 二十八天(数据结构:图的补充)
  • 仓颉编程语言的match表达式
  • 【科研绘图系列】R语言绘制气泡图
  • 用户、组和目录的磁盘配额
  • GDB 调试全方位指南:从入门到精通
  • CSS--后端也有自己的CSS要学
  • 二、RuoYi-Cloud-Plus 拉取到本地的准备和注意事项
  • 睿抗开发者大赛国赛-24
  • 《设计模式之禅》笔记摘录 - 14.组合模式
  • 库函数NTC采样温度的方法(STC8)
  • Seata分布式事务环境搭建
  • linux-LVM 逻辑卷管理
  • Uniworld-V1、X-Omni论文解读