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

专题 - STM32

基础

基础知识

  1. STM所有产品线(列举型号):
    请添加图片描述
  2. STM产品的3内核架构(列举ARM芯片架构):
    请添加图片描述
  3. STM32的3开发方式:
    请添加图片描述
  4. STM32的5开发工具和套件:
    请添加图片描述
  5. 若要在电脑上直接硬件级调试STM32设备,则需要仿真器。
    STM32CubeIDE仅支持ST-LINK仿真器和J-LINK仿真器。
  6. STM32F41CEU6与Cortex-M4有何区别?
    1. STM32F41CEU6是微控制器(MCU);Cortex-M4是嵌入式处理器(Embedded CPU)。
    2. STM32F41CEU6微控制器的核心组件,是Cortex-M4嵌入式处理器。
  7. 单片机为什么需要晶振才能正常工作?
    1. 单片机基于数字电路,而数字电路需要节拍的推动才能正常工作。
    2. 由于晶振元件材料的特殊性,在为其通电后,会周期性的持续输出变化的电压。这种精确变化的电压信号,就可以为各种数字电路提供“心跳”信号。

STM32F41CEU6微控制器(MCU)

特性

特性备注
CPUARM Cortex-M41. 32 位。
2. RISC 架构。
3. 最大速度 100MHz。
4. 有硬件级的单精度浮点计算单元(FPU)。
5. 有硬件级的数字信号处理器(DSP),支持 DSP 指令,以加速特定任务。
RAM128K1. 嵌入式内存(Embedded RAM)。
2. 静态内存(Static RAM)。
3. 有内存保护单元(Memory Protection Unit),以管理 CPU 对存储器的访问,避免因某个任务执行出错而影响其他任务的数据。
ROM512K1. 嵌入式存储器(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) - 时钟。

总线

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

时钟

  1. 时钟分布:
    请添加图片描述
    据上图可知:
    1. 不同于STC51系列等早期的单片机,其晶振只有一个,且频率固定。
      在STM32系列单片机中,晶振若干,且频率可调,以适应更多场景、满足更多需求(上图中标注的红、绿、粉框)。
    2. 时钟的分类:
      请添加图片描述据上图可知:
    3. 系统时钟(SYSCLK)的时钟信号来源,可由以下3个时钟提供:
      1. HSI时钟(时钟分布图中标注的序号1)。
      2. HSE时钟(时钟分布图中标注的序号2)。
      3. 主PPL时钟(Main PLL)中的P分支(PLLP)(时钟分布图中标注的序号3)。
    4. 锁相环时钟(PLL)的时钟信号来源,可由以下2个时钟提供:
      1. HSI时钟(时钟分布图中标注的序号4)。
      2. HSE时钟(时钟分布图中标注的序号5)。
    5. 锁相环时钟(PLL),输出以下2路时钟信号:
      1. 给主PLL(Main PLL)输出提供时钟信号(时钟分布图中标注的序号6)。

        主PLL(Main PLL),又输出2路时钟信号:
        1. 通过P分支(PLLP)给系统时钟(SYSCLK)输出提供信号(时钟分布图中标注的序号3)。
        2. 通过Q分支(PLLQ)给USB OTG FS/随机数发生器/SDIO输出提供信号(时钟分布图中标注的序号8)。

      2. 给I2S输出提供信号(时钟分布图中标注的序号7)。

      3. 单片机的CPU频率,由系统(SYSCLK)时钟经AHB分频器分频后的HCLK时钟决定。

相关文章:

专题 - 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 的编译时语法糖&#xff0c;里面的代码会被编译成组件 setup() 函数的内容。 <script setup> 中的代码在每次组件实例被创建的时候都都会被执行。 定义数据&#xff1a; 在 <script setup> 语法糖的写法中…...

51单片机和STM32集成蓝牙模块实用指南

51单片机和STM32集成蓝牙模块实用指南 蓝牙模块&#xff08;如HC-05、HC-06、JDY-31等&#xff09;是嵌入式开发中常用的无线通信模块&#xff0c;广泛应用于智能家居、物联网、机器人等领域。本文将详细介绍如何将蓝牙模块集成到 51单片机 和 STM32 中&#xff0c;并提供一个…...

Transformer:深度学习的变革力量

深度学习领域的发展日新月异&#xff0c;在自然语言处理&#xff08;NLP&#xff09;、计算机视觉等领域取得了巨大突破。然而&#xff0c;早期的循环神经网络&#xff08;RNN&#xff09;在处理长序列时面临着梯度消失、并行计算能力不足等瓶颈。而 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产品序列号识别

在一个看似平常却又暗藏玄机的工作日&#xff0c;阿明正坐在办公室里&#xff0c;对着堆积如山的文件唉声叹气。突然&#xff0c;电话铃声如炸雷般响起&#xff0c;吓得他差点从椅子上摔下来。原来是公司老板打来的紧急电话&#xff1a;“阿明啊&#xff0c;咱们刚生产出来的那…...

2012wtl,学习活扩

原文 WTL学习注意–活扩 在Win32下,活扩控件已是个成熟的概念了,即使对COM不太了解,使用活扩控件仍是件容易的事情.既然是控件,无非要关注两个方面,第一是如何调用它的函数,其次是如何接收它的事件. 看看在WTL中,如何使用活扩控件(基本对话框): 1.创建项目时,让对话框支持活…...

使用Deepseek搭建类Cursor编辑器

使用Deepseek搭建类Cursor编辑器 Cursor想必大家都用过了&#xff0c;一个非常强大的AI编辑器&#xff0c;在代码编写上为我们省了不少事&#xff0c;但高昂的价格让我们望而却步&#xff0c;这篇文章教你在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)的应用之(生产者-消费者模式)

一.生产者-消费者模式概述 生产者-消费者模式是一种经典的设计模式&#xff0c;它将数据的生成&#xff08;生产者&#xff09;和处理&#xff08;消费者&#xff09;分离到不同的模块或线程中。这种模式的核心在于一个共享的缓冲区&#xff0c;生产者将数据放入缓冲区&#x…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...