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

STM32时钟配置图详解

一图概述:
在这里插入图片描述

左侧输入时钟源

Input Frequency (LSE/LSI/HSI/HSE)
  • LSE (Low-Speed External):外部32.768 kHz晶体振荡器,通常用于RTC(实时时钟)。
  • LSI (Low-Speed Internal):内部低速时钟,频率为40 kHz,通常用于看门狗计时器等低功耗模块。
  • HSI (High-Speed Internal):内部高速时钟,频率为8 MHz,系统默认使用。
  • HSE (High-Speed External):外部高速晶体振荡器,频率范围为4-16 MHz,外部来源的主时钟。
RTC(Real-Time Clock)时钟
  • RTC Clock Mux:选择用于RTC模块的时钟源,包括LSE、LSI和HSE的1/128分频输出。
  • LSE, LSI, HSE_RTC:分别为32.768 kHz的LSE时钟,40 kHz的LSI时钟,以及HSE时钟的分频输出。
系统时钟路径
  • PLL Source Mux:选择PLL的输入源,HSE或者HSI都可以作为输入源。图中选择了HSE作为PLL输入源。
  • HSI 8 MHz 或 HSE,默认选择 HSE 时钟。
PLL(Phase Locked Loop)
  • PLL源时钟分频器:HSE被1分频(即不改变频率)后输入PLL。
  • PLL倍频器:设置为8倍,即HSE的8 MHz被倍频到64 MHz,作为PLLCLK输出。
系统时钟选择

System Clock Mux:选择系统主时钟(SYSCLK)的源。可以选择HSI、HSE或PLL。图中选用了PLL时钟。

时钟分频器
  • AHB Prescaler:AHB总线分频器,图中设置为1倍,不对时钟进行分频,输出的HCLK与SYSCLK相同,都是8 MHz。
  • HCLK:核心时钟(HCLK),用于CPU和内存总线。最大值为72 MHz,当前设置为8 MHz。
  • APB1 Prescaler:APB1外设总线分频器,设置为2倍。因为APB1最大允许时钟为36 MHz,分频后得到APB1总线时钟为4 MHz。
  • APB2 Prescaler:APB2外设总线分频器,设置为1倍,输出与HCLK一致,8 MHz。
外设时钟
  • PCLK1:APB1外设时钟,分频后为4 MHz。
  • PCLK2:APB2外设时钟,与HCLK相同,为8 MHz。
    USB Prescaler:USB时钟分频器,配置为1倍,输出64 MHz(PLL输出)用于USB时钟。
关键模块的时钟频率
  • I2S2, I2S3:音频接口I2S时钟,8 MHz。
  • SDIO:SD卡接口时钟,8 MHz。
  • FCLK:闪存接口时钟,8 MHz。
  • Cortex系统定时器:用于Cortex-M核心系统的时钟,8 MHz。
  • ADC Prescaler:ADC时钟分频器,当前设置为2倍,ADC时钟为4 MHz。

外设在总线上的分布

  • 在STM32的总线上,外设分布在不同的总线(AHB、APB1、APB2)上,下面是主要外设的分类:
AHB(Advanced High-Performance Bus)总线上的外设:
  • AHB总线通常用于高速外设和DMA控制器,负责连接核心系统、存储器以及外设。

  • 主要的外设包括

  1. DMA(Direct Memory Access)控制器:用于内存与外设之间的直接数据传输。
  2. FSMC(Flexible Static Memory Controller):用于连接外部存储器,如SRAM、NOR Flash等。
  3. SDIO(Secure Digital Input Output):用于连接SD卡的接口。
  4. 以太网MAC(Ethernet MAC):如果支持,以太网控制器通常也连接到AHB总线。
  5. USB OTG(On-The-Go):用于USB连接的外设。
  6. 闪存接口(Flash Interface):负责与内部闪存进行通信。
APB1(Advanced Peripheral Bus 1)总线上的外设:
  • APB1总线连接低速外设,最大工作频率通常是36 MHz。
  • 主要的外设包括:
  1. TIM2 - TIM7:通用定时器2到7,低速定时器,用于计时、脉冲宽度调制(PWM)等。
  2. USART2、USART3、UART4、UART5:串行通信外设,用于串口通信。
  3. I2C1、I2C2:I2C接口,用于与I2C兼容设备进行通信。
  4. SPI2、SPI3:SPI接口,用于高速串行数据通信。
  5. CAN:控制器局域网(CAN)通信接口。
  6. DAC(Digital-to-Analog Converter):数字-模拟转换器,用于模拟信号输出。
  7. PWR:电源管理外设。
  8. WWDG(Window Watchdog):窗口看门狗定时器,用于系统复位。
  9. IWDG(Independent Watchdog):独立看门狗,用于系统保护。
APB2(Advanced Peripheral Bus 2)总线上的外设:
  • APB2总线连接高速外设,最大工作频率可以达到72 MHz。
    主要的外设包括:
  1. TIM1、TIM8:高级定时器1和8,通常用于电机控制、PWM输出等。
  2. USART1:高速串口,用于高速通信。
  3. SPI1:高速SPI接口。
  4. ADC1、ADC2、ADC3:模数转换器(ADC),用于模拟信号采样和转换。
  5. EXTI(External Interrupt Controller):外部中断控制器,用于处理外部引脚中断。
  6. GPIOA - GPIOG:通用输入输出口,用于与外部设备进行交互。
  7. SYSCFG:系统配置控制器,用于配置系统参数,如复位和时钟。
其它外设:

RTC(Real-Time Clock):实时时钟,用于时间管理,通常连接在低速时钟(LSI或LSE)上。
CRC:循环冗余校验(CRC)计算单元,用于数据完整性校验。

注意事项
  1. Timer Clock(定时器时钟)
    定时器时钟是专门为定时器(Timer)模块提供的时钟信号,特别是那些用于计时、PWM生成、捕获和比较等操作的硬件定时器。
  2. Peripheral Clock(外设时钟)
    外设时钟是为其他外设模块(非定时器)提供的时钟信号。与定时器时钟不同,外设时钟直接来自APB1或APB2的时钟分频器,不会经过额外的倍频。
  3. 定时器时钟主要负责与定时器相关的任务(如PWM、捕获比较),而外设时钟负责一般外设的运行。

相关文章:

STM32时钟配置图详解

一图概述: 左侧输入时钟源 Input Frequency (LSE/LSI/HSI/HSE) LSE (Low-Speed External):外部32.768 kHz晶体振荡器,通常用于RTC(实时时钟)。LSI (Low-Speed Internal):内部低速时钟,频率为…...

Vscode——调试时,修改变量值

第一步:点击变量,鼠标右键 第二步:点击 设置值...

1. 初识LLM API:环境配置与多轮对话演示

其实AI应用并不是一个什么很高大上的东西,你可以将它当作一个文字的“调库”行为,“调库”只需要知道库名就行了,这里实际也是如此。甚至你只需要知道你想问什么,将你的消息作为输入,就能从大模型得到输出。而这个“库…...

【AI编程助手】VsCode插件--通义灵码

目录 摘要 一、插件安装 二、“通义灵码” 使用 三、官网教程 四、总结 五、参考信息 摘要 通义灵码是一款强大的 AI 编程助手。它能够理解编程相关的复杂逻辑,为开发者提供高效、准确的代码生成与优化建议。在编程过程中,它可以辅助处理各种任务&…...

9月10号的学习

//界面1 头文件 signals://界面1的自定义信号void my_signal(); private slots:void on_pushButton_2_clicked();void on_pushButton_clicked(); //界面1 .cpp文件 void Widget::on_pushButton_2_clicked() {QMessageBox msg(QMessageBox::Warning,"警告","是否…...

QtC++截图支持窗口获取

介绍 在截图工具中你会发现,接触到窗口后会自动圈出目标窗口,个别强大一点的还能进行元素识别可以自动圈出元素,那么今天简单分析一下QTc如何获取窗口并圈出当前鼠标下的窗口。 介绍1.如何获取所有窗口2.比较函数3.实现窗口判断 结尾 1.如何获取所有窗口…...

料品档案没有配置主供应商信息

这个问题经常会出现在普通用户的面前。没有合适的工程人员去打理料品档案。信息是缺漏的。用友给出来的提示,也让人摸不着头脑。只能是记下来备用吧。...

springboot属性加载优先级和常见命令行属性

属性加载优先级: 1.SpringApplication:启动的main方法里注入的属性 2.PropertySource:通过注解 加载的数据配置文件 3.Config data file:application.yml/.properties 4.OS environment variable:环境变量 5.Command l…...

Math Reference Notes: 因式定理

文章目录 1. 因式定理的定义2. 因式定理的数学表达:3. 因式定理的推导4. 因式定理的含义5. 因式定理的应用6. 因式定理与余式定理的关系7. 因式定理的应用领域8.因式定理的局限性 因式定理是多项式代数中的一个重要工具,帮助我们通过多项式的根来因式分解…...

Kubernetes------Service

目录 一、属性说明 二、定义和基本配置 1、定义 2、创建Service 2.1、typeClusterIP 2.2、typeNodePort 2.3、固定IP访问 三、Service、EndPoint、Pod之间的关系 四、服务发现 1、基于Service中IP访问外部服务 2、基于Service中域名访问外部服务 五、Ingress的安装和使…...

C#的LINQ语句

在 C# 中,LINQ(Language Integrated Query)是一种强大的查询技术,它允许你使用熟悉的 C# 语法来查询数据集合。LINQ 可以用于查询各种数据源,包括数组、列表、数据集、SQL数据库等。 以下是一些基本的 LINQ 语句示例&…...

项目实战系列三: 家居购项目 第三部分

文章目录 🍃后台分页🍅后台分页导航 🍃首页分页🍅首页分页导航🍅首页搜索🍅两个奇怪的问题🍅会员显示登录名🍅注销登录🍅验证码 🍃后台分页 程序框架图 1.…...

【WPF】Border的使用

在 WPF 中,Border 控件是一个非常实用的容器控件,它可以用来为其他控件添加边框、背景颜色、边距等样式。Border 本身没有内置的行为,但是它可以包含一个子元素,并且可以通过各种属性来自定义外观。 Border基本属性 Child: 表示…...

机器学习(西瓜书)第 4 章 决策树

4.1 决策树基本流程 决策树模型 基本流程 在第⑵种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;在第⑶种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多…...

8、值、指针、引用作为参数或返回值

一、作为参数 1、值传递 #include <iostream> using namespace std;void swap(int a, int b) {cout << __FUNCTION__ << "交换前a:" << a << " b:" << b << endl;int tmp a;a b;b tmp;cout << __FUN…...

向量——通俗地解释

1. 向量 向量是一个既有大小(模)又有方向的对象&#xff0c;它可以用来描述空间中的位置、力或速度等量。我们可以从物理、数学和计算机的角度来看待向量&#xff0c;这三种观点看似不同却有关联。 &#xff08;1&#xff09;在物理专业视角下&#xff0c;向量是空间中的箭头&a…...

新书宣传:《量子安全:信息保护新纪元》

《量子安全&#xff1a;信息保护新纪元》 前言本书的看点本书的目录结语 前言 你好&#xff01; 这是我第一次发布类广告的博文&#xff0c;目的也很单纯&#xff0c;希望以作者的身份介绍一下自己出版的图书——《量子安全&#xff1a;信息保护新纪元》。此书于2024年7月出版…...

Android Framework(五)WMS-窗口显示流程——窗口布局与绘制显示

文章目录 relayoutWindow流程概览应用端处理——ViewRootImpl::setView -> relayoutWindowViewRootImpl::setViewViewRootImpl::performTraversalsViewRootImpl::relayoutWindow Surface的创建WindowManagerService::relayoutWindow了解容器类型和Buff类型的SurfaceBuff类型…...

【计网】计算机网络基础

当自律变成一种本能的习惯&#xff0c; 你就会享受到它的快乐。 --- 村上春树 --- 初识计算机网络 1 初识协议1.1 协议分层1.2 OSI七层模型1.3 TCP / IP协议 2 初识局域网2.1 什么是局域网2.2 MAC地址2.3 局域网通信 3 简单认识IP地址 1 初识协议 1.1 协议分层 首先&#…...

秃姐学AI系列之:实战Kaggle比赛:图像分类(CIFAR-10)

目录 准备工作 整理数据集 将验证集从原始的训练集中拆分出来 整理测试集 使用函数 图像增广 读取数据集 定义模型 定义训练函数 训练和验证数据集 对测试集进行分类并提交结果 准备工作 首先导入竞赛需要的包和模块 import collections import math import os i…...

告别手动切图:用快马ai生成脚本,自动化ps设计稿导出与标注

作为一名长期与PS打交道的设计师&#xff0c;我深知重复性切图标注的痛苦。每次设计稿调整后&#xff0c;手动导出图层、记录样式、测量间距的过程不仅枯燥&#xff0c;还容易出错。最近尝试用InsCode(快马)平台的AI辅助生成自动化脚本&#xff0c;意外发现效率提升显著。以下是…...

AI辅助开发新思路:让快马AI为你的下拉词功能注入智能排序与语义联想

AI辅助开发新思路&#xff1a;让快马AI为你的下拉词功能注入智能排序与语义联想 最近在开发一个需要智能下拉词功能的项目时&#xff0c;我发现传统的前缀匹配方式已经不能满足用户需求了。于是我开始探索如何用AI来增强下拉词功能&#xff0c;让它变得更智能、更人性化。经过…...

Qwen3-0.6B-FP8极速对话工具:STM32F103C8T6最小系统板集成

Qwen3-0.6B-FP8极速对话工具&#xff1a;STM32F103C8T6最小系统板集成 让AI对话能力跑在指甲盖大小的开发板上 1. 场景与痛点 你可能很难想象&#xff0c;一个能进行智能对话的AI模型&#xff0c;居然可以运行在一块只有拇指大小的STM32开发板上。传统的AI模型部署往往需要强大…...

用DeerFlow做竞品分析:5分钟自动生成全面竞品研究报告

用DeerFlow做竞品分析&#xff1a;5分钟自动生成全面竞品研究报告 1. DeerFlow简介&#xff1a;您的智能研究助手 DeerFlow是一款由字节跳动开源的深度研究自动化工具&#xff0c;它整合了语言模型、网络搜索和代码执行能力&#xff0c;能够快速完成复杂的研究任务。这个工具…...

腾讯优图视觉模型应用:Youtu-VL-4B-Instruct在内容审核中的实战

腾讯优图视觉模型应用&#xff1a;Youtu-VL-4B-Instruct在内容审核中的实战 每天&#xff0c;互联网上会产生数十亿张图片和视频。对于内容平台来说&#xff0c;如何确保这些内容安全合规&#xff0c;同时控制审核成本&#xff0c;一直是个头疼的问题。传统的人工审核效率低、…...

旧电脑秒变云服务器:用Proxmox VE打造家庭虚拟化实验室(ZFS配置优化版)

旧电脑秒变云服务器&#xff1a;用Proxmox VE打造家庭虚拟化实验室&#xff08;ZFS配置优化版&#xff09; 1. 为什么选择Proxmox VE搭建家庭实验室&#xff1f; 对于个人开发者和技术爱好者来说&#xff0c;拥有一套完整的虚拟化环境是提升技术能力的绝佳途径。Proxmox VE作为…...

【Python内存管理2026权威白皮书】:GIL演进、引用计数重构与GC智能调度三大突破性策略首次公开

第一章&#xff1a;Python智能体内存管理策略2026最新趋势全景概览随着大语言模型驱动的Python智能体&#xff08;Agent&#xff09;在生产环境中的深度部署&#xff0c;传统CPython内存管理机制正面临前所未有的挑战&#xff1a;动态工具调用、多轮推理缓存、跨Agent状态共享及…...

Janus-Pro-7B实操手册:批量图片理解任务脚本编写与结果结构化导出

Janus-Pro-7B实操手册&#xff1a;批量图片理解任务脚本编写与结果结构化导出 1. 项目背景与需求场景 在日常工作中&#xff0c;我们经常需要处理大量的图片理解任务。比如电商平台需要分析商品图片中的信息&#xff0c;内容审核团队需要识别图片中的违规内容&#xff0c;或者…...

避坑指南:Windows下OpenCV摄像头索引混乱问题的3种解决之道

避坑指南&#xff1a;Windows下OpenCV摄像头索引混乱问题的3种解决之道 在工业视觉和智能监控领域&#xff0c;多摄像头协同工作是常见需求。但当你在Windows平台上使用OpenCV的VideoCapture接口时&#xff0c;可能会遇到这样的困扰&#xff1a;每次重启系统后&#xff0c;原本…...

Java 设计模式・策略模式篇:从思想到代码实现

一、行为型模式 在面向对象的世界里&#xff0c;如何优雅地组织对象间的交互、分配职责&#xff0c;是每一位开发者都会反复思考的问题。直接硬编码交互逻辑固然简单&#xff0c;但当业务复杂度上升、对象协作关系变得错综复杂时&#xff0c;这种方式就会让代码变得僵化、难以…...