专题 - STM32
基础
基础知识
- STM所有产品线(列举型号):

- STM产品的3内核架构(列举ARM芯片架构):

- STM32的3开发方式:

- STM32的5开发工具和套件:

- 若要在电脑上直接硬件级调试STM32设备,则需要仿真器。
STM32CubeIDE仅支持ST-LINK仿真器和J-LINK仿真器。 - STM32F41CEU6与Cortex-M4有何区别?
- STM32F41CEU6是微控制器(MCU);Cortex-M4是嵌入式处理器(Embedded CPU)。
- STM32F41CEU6微控制器的核心组件,是Cortex-M4嵌入式处理器。
- 单片机为什么需要晶振才能正常工作?
- 单片机基于数字电路,而数字电路需要节拍的推动才能正常工作。
- 由于晶振元件材料的特殊性,在为其通电后,会周期性的持续输出变化的电压。这种精确变化的电压信号,就可以为各种数字电路提供“心跳”信号。
STM32F41CEU6微控制器(MCU)
特性
| 项 | 特性 | 备注 |
|---|---|---|
| CPU | ARM Cortex-M4 | 1. 32 位。 2. RISC 架构。 3. 最大速度 100MHz。 4. 有硬件级的单精度浮点计算单元(FPU)。 5. 有硬件级的数字信号处理器(DSP),支持 DSP 指令,以加速特定任务。 |
| RAM | 128K | 1. 嵌入式内存(Embedded RAM)。 2. 静态内存(Static RAM)。 3. 有内存保护单元(Memory Protection Unit),以管理 CPU 对存储器的访问,避免因某个任务执行出错而影响其他任务的数据。 |
| ROM | 512K | 1. 嵌入式存储器(Embedded Flash Memory)。 2. Flash 存储器(Flash Memory)。 3. 非易失性存储器(Non-volatile Memory)。 4. 基于冯诺依曼结构,可同时存储程序和数据。 |
| 存储器加速器 | ART | 通过指令预取队列和分支缓存技术,减少了高速的 CPU 在计算时需经常等待低速的 Flash 的情况。 |
| 工作电压 | 1.7V ~ 3.6V | 支持低电压工作,以支持低功耗设计。 |
| 总线 | 6 条主控总线、5 条被控总线 | 参见:STM32F41CEU6 微控制器(MCU) - 总线。 |
| 时钟 | 多时钟 | 参见:STM32F41CEU6 微控制器(MCU) - 时钟。 |
总线
- 总线分布:

- 功能分布:

据上2图可知:- 6条主控总线分别为:
- Cortex-M4嵌入式处理器的
指令总线(I-bus)(上图中标注的S0)。
以使CPU从总线矩阵中取指。 - Cortex-M4嵌入式处理器的
数据总线(D-bus)(上图中标注的S1)。
以使CPU立即加载到数据和调试。 - Cortex-M4嵌入式处理器的
系统总线(S-bus)(上图中标注的S2)。
以使CPU从内存或外设中取数据。 - 直接内存存取(DMA)控制器1的
DMA控制总线(DMA_MEM1)(上图中标注的S3)。
以使DMA控制器直接接管在存储器间、存储器与外设间的数据传输。 - 直接内存存取(DMA)控制器2的
DMA控制总线(DMA_MEM2)(上图中标注的S4)。
以使DMA控制器直接接管在存储器间、存储器与外设间的数据传输。 - 直接内存存取(DMA)控制器2的
DMA外设控制总线(DMA_P2)(上图中标注的S5)。
以使数据无需经CPU处理而直接在外设与内存间传输。
- Cortex-M4嵌入式处理器的
- 5条被控总线分别为:
- Flash存储器的
程序指令总线(ICODE)(上图中标注的M0)。
因为Flash存储器是同时存储程序与数据的,故需要有一条总线专用于程序指令的取指、执行。 - Flash存储器的
数据读写总线(DCODE)(上图中标注的M1)。
因为Flash存储器是同时存储程序与数据的,故需要有一条总线专用于数据的读写。 系统内存总线(上图中标注的M2)。
用于内存与CPU间、内存与DMA控制器间的数据传输。高级高速总线1(AHB1)的总线(上图中标注的M3)。
属于AHB总线的一个分支,是高速的外设总线。
可将高速运行的、高数据吞吐量的外围设备与系统互相连接起来,以实现互访。高级高速总线2(AHB2)的总线(上图中标注的M4)。
属于AHB总线的一个分支,是高速的外设总线。
可将高速运行的、高数据吞吐量的外围设备与系统互相连接起来,以实现互访。
- Flash存储器的
- 4条外设总线。其中:
1. AHB1总线与AHB2总线,在结构上相对独立。
2. AHB1总线又向下派生出2条总线,分别为APB1总线、APB2总线。
3. 除APB1是低速总线外,其余3个均为高速总线。
- 6条主控总线分别为:
时钟
- 时钟分布:

据上图可知:- 不同于STC51系列等早期的单片机,其晶振只有一个,且频率固定。
在STM32系列单片机中,晶振若干,且频率可调,以适应更多场景、满足更多需求(上图中标注的红、绿、粉框)。 - 时钟的分类:
据上图可知: - 系统时钟(SYSCLK)的时钟信号来源,可由以下3个时钟提供:
- HSI时钟(时钟分布图中标注的序号1)。
- HSE时钟(时钟分布图中标注的序号2)。
- 主PPL时钟(Main PLL)中的P分支(PLLP)(时钟分布图中标注的序号3)。
- 锁相环时钟(PLL)的时钟信号来源,可由以下2个时钟提供:
- HSI时钟(时钟分布图中标注的序号4)。
- HSE时钟(时钟分布图中标注的序号5)。
- 锁相环时钟(PLL),输出以下2路时钟信号:
-
给主PLL(Main PLL)输出提供时钟信号(时钟分布图中标注的序号6)。
主PLL(Main PLL),又输出2路时钟信号:
1. 通过P分支(PLLP)给系统时钟(SYSCLK)输出提供信号(时钟分布图中标注的序号3)。
2. 通过Q分支(PLLQ)给USB OTG FS/随机数发生器/SDIO输出提供信号(时钟分布图中标注的序号8)。 -
给I2S输出提供信号(时钟分布图中标注的序号7)。
-
单片机的CPU频率,由系统(SYSCLK)时钟经AHB分频器分频后的HCLK时钟决定。
-
- 不同于STC51系列等早期的单片机,其晶振只有一个,且频率固定。
相关文章:
专题 - STM32
基础 基础知识 STM所有产品线(列举型号): STM产品的3内核架构(列举ARM芯片架构): STM32的3开发方式: STM32的5开发工具和套件: 若要在电脑上直接硬件级调试STM32设备,则…...
2 XDMA IP中断
三种中断 1. Legacy 定义:Legacy 中断是传统的中断处理方式,使用物理中断线(例如 IRQ)来传递中断信号。缺点: 中断线数量有限,通常为 16 条,限制了可连接设备的数量。中断处理可能会导致中断风…...
自然语言转 SQL:通过 One API 将 llama3 模型部署在 Bytebase SQL 编辑器
使用 Open AI 兼容的 API,可以在 Bytebase SQL 编辑器中使用自然语言查询数据库。 出于数据安全的考虑,私有部署大语言模型是一个较好的选择 – 本文选择功能强大的开源模型 llama3。 由于 OpenAI 默认阻止出站流量,为了简化网络配置&#…...
抖音矩阵是什么
抖音矩阵是指在同一品牌或个人IP下,通过创建多个不同定位的抖音账号(如主号、副号、子号等),形成一个有机的整体,以实现多维度、多层次的内容覆盖和用户互动。以下是关于抖音矩阵的详细介绍: 抖音矩阵的类…...
怎么抓取ios 移动app的https请求?
怎么抓取IOS应用程序里面的https? 这个涉及到2个问题 1.电脑怎么抓到IOS手机流量? 2.HTTPS怎么解密? 部分app可以使用代理抓包的方式,但是正式点的app用代理抓包是抓不到的,例如pin检测,证书双向校验等…...
pyqt鸟瞰
QApplication是Qt框架中的一个类,专门用于管理基于QWidget的图形用户界面(GUI)应用程序的控制流和主要设置。QApplication类继承自QGuiApplication,提供了许多与GUI相关的功能,如窗口系统集成、事件处理等。 QAppli…...
【Docker】入门教程
目录 一、Docker的安装 二、Docker的命令 Docker命令实验 1.下载镜像 2.启动容器 3.修改页面 4.保存镜像 5.分享社区 三、Docker存储 1.目录挂载 2.卷映射 四、Docker网络 1.容器间相互访问 2.Redis主从同步集群 3.启动MySQL 五、Docker Compose 1.命令式安装 …...
Token和JWT的关系详细讲解
Token 和 JSON Web Token (JWT) 是两个相关但概念上不同的术语,它们在现代 Web 应用程序的身份验证和授权中扮演着重要角色。下面将详细介绍两者之间的关系以及 JWT 的具体工作原理。 1. Token 概述 Token 是一种广义的概念,指的是任何可以证明用户身份…...
【Linux系列】Curl 参数详解与实践应用
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
解决 Git SSL 连接错误:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno
问题描述 在执行 git pull 命令时遇到以下错误: > git pull --tags origin main fatal: unable to access github仓库: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0这个错误通常表示 Git 在尝试通过 HTTPS 连接到 GitHub 时遇到了 SSL 连接问题。 解决方案…...
《Vue3 八》<script setup> 语法
<script setup> 是在单文件中使用 Composition API 的编译时语法糖,里面的代码会被编译成组件 setup() 函数的内容。 <script setup> 中的代码在每次组件实例被创建的时候都都会被执行。 定义数据: 在 <script setup> 语法糖的写法中…...
51单片机和STM32集成蓝牙模块实用指南
51单片机和STM32集成蓝牙模块实用指南 蓝牙模块(如HC-05、HC-06、JDY-31等)是嵌入式开发中常用的无线通信模块,广泛应用于智能家居、物联网、机器人等领域。本文将详细介绍如何将蓝牙模块集成到 51单片机 和 STM32 中,并提供一个…...
Transformer:深度学习的变革力量
深度学习领域的发展日新月异,在自然语言处理(NLP)、计算机视觉等领域取得了巨大突破。然而,早期的循环神经网络(RNN)在处理长序列时面临着梯度消失、并行计算能力不足等瓶颈。而 Transformer 的横空出世&am…...
sql 函数
# 四则运算 - * / # 函数 distinct 、count、sum、max、min、avg、sum、round select concat(device_id 是,device_id ) device_id from device_id_apply_factor where device_id D6A42CE6A0; select concat_ws(|||,device_id ,factor_a ,module_type) from 、device_id_app…...
C# OpenCV机器视觉:OCR产品序列号识别
在一个看似平常却又暗藏玄机的工作日,阿明正坐在办公室里,对着堆积如山的文件唉声叹气。突然,电话铃声如炸雷般响起,吓得他差点从椅子上摔下来。原来是公司老板打来的紧急电话:“阿明啊,咱们刚生产出来的那…...
2012wtl,学习活扩
原文 WTL学习注意–活扩 在Win32下,活扩控件已是个成熟的概念了,即使对COM不太了解,使用活扩控件仍是件容易的事情.既然是控件,无非要关注两个方面,第一是如何调用它的函数,其次是如何接收它的事件. 看看在WTL中,如何使用活扩控件(基本对话框): 1.创建项目时,让对话框支持活…...
使用Deepseek搭建类Cursor编辑器
使用Deepseek搭建类Cursor编辑器 Cursor想必大家都用过了,一个非常强大的AI编辑器,在代码编写上为我们省了不少事,但高昂的价格让我们望而却步,这篇文章教你在Visual Studio Code上搭建一个类Cursor的代码编辑器。 步骤其实非常…...
mysql,PostgreSQL,Oracle数据库sql的细微差异(2) [whith as; group by; 日期引用]
sql示例(MySQL) WITHtemp1 AS (SELECT name AS resultsFROM Users uJOIN MovieRating m ON u.user_id m.user_idGROUP BY m.user_idORDER BY COUNT(*) DESC,left(name,1)LIMIT 1),temp2 AS (SELECT title AS resultsFROM Movies mJOIN MovieRating r ON m.movie_id r.movie_…...
基于改进粒子群优化的无人机最优能耗路径规划
目录 1. Introduction2. Preliminaries2.1. Particle Swarm Optimization Algorithm2.2. Deep Deterministic Policy Gradient2.3. Calculation of the Total Output Power of the Quadcopter Battery 3.OptimalEnergyConsumptionPathPlanningBasedonPSO-DDPG3.1.ProblemModell…...
C#中通道(Channels)的应用之(生产者-消费者模式)
一.生产者-消费者模式概述 生产者-消费者模式是一种经典的设计模式,它将数据的生成(生产者)和处理(消费者)分离到不同的模块或线程中。这种模式的核心在于一个共享的缓冲区,生产者将数据放入缓冲区&#x…...
Python开发者首次使用Taotoken接入大模型API的完整步骤指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python开发者首次使用Taotoken接入大模型API的完整步骤指南 对于Python开发者而言,接入大模型API进行应用开发已成为一…...
【DeepSeek测试用例生成实战指南】:20年QA专家亲授5大高覆盖率生成模式与3个避坑红线
更多请点击: https://codechina.net 第一章:DeepSeek测试用例生成的核心价值与适用边界 DeepSeek系列大模型在代码理解与生成任务中展现出显著的上下文建模能力,其测试用例生成功能并非通用“黑盒测试器”,而是聚焦于**单元级、函…...
Transient、QuickEye、VerifyEye傻傻分不清?一文讲透Ansys里三种眼图仿真方法的适用场景与避坑指南
Transient、QuickEye、VerifyEye深度解析:Ansys眼图仿真技术选型实战指南 在高速数字系统设计中,眼图分析是评估信号完整性的黄金标准。面对Ansys工具链中三种截然不同的眼图生成方法,工程师常常陷入选择困境——是追求精确度的传统瞬态分析&…...
Burp Suite证书安装全解:HTTPS抓包失败的根源与跨平台命令行方案
1. 为什么必须亲手安装Burp Suite证书——不是“点一下就完事”的操作很多人第一次在手机或测试设备上配置Burp Suite代理时,会下意识认为:只要把电脑上的Burp监听地址填进Wi-Fi代理设置,再用浏览器访问http://burp,点击那个绿色的…...
37家金融客户紧急启用的DeepSeek扫描辅助加固包(含未公开API调用密钥策略)
更多请点击: https://kaifayun.com 第一章:DeepSeek漏洞扫描辅助的背景与战略价值 近年来,大模型在安全领域的应用正从辅助问答向深度协同防御演进。DeepSeek系列模型凭借其开源、高推理精度及强代码理解能力,成为构建智能化漏洞…...
Mysql:事务管理(中)
在前面的章节中,我们提到了 MVCC(多版本并发控制),它巧妙地通过“版本快照”解决了“读-写”冲突,实现了非阻塞读。但如果两个事务同时执行 UPDATE 操作修改同一行数据,即 写-写(Write-Write&am…...
2027考研全套资料免费分享
备战27考研最全备考资料整理完毕,一路走来深知备考搜集资料耗费大量时间,浪费不少精力。特意整理2027考研全科完整版资源,全部打包汇总,零基础考生直接拿来就能使用,省去四处搜集资料的烦恼。资料内含:&…...
双稳健机器学习:用正交性与交叉拟合解决因果推断中的ML偏差
1. 项目概述:当机器学习遇见因果推断的“干扰”难题在实证研究的日常工作中,我们常常面临一个核心矛盾:我们真正关心的,往往只是一个或几个关键参数——比如一项政策对就业率的平均影响(平均处理效应,ATE&a…...
ShrinkBox后门攻击:如何让自动驾驶模型“看错”距离,威胁ML-ADAS安全
1. 项目概述在自动驾驶和高级驾驶辅助系统(ADAS)领域,基于机器学习的目标检测模型,如YOLO系列,已成为感知环境、实现碰撞预警的核心组件。这些模型通过实时识别和定位道路上的车辆、行人等目标,为后续的距离…...
氘可来昔替尼常见副作用为鼻咽炎头痛及腹泻,如何应对?
任何口服药物的临床价值,都必须在疗效与安全性的天平上找到精准的平衡点。氘可来昔替尼以PASI 75应答率的全面胜出证明了自己在银屑病治疗中的卓越地位,而其不良反应谱同样经过了严苛的临床验证。鼻咽炎、头痛和腹泻构成了这款药物最需关注的三大安全信号…...
