当前位置: 首页 > 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…...

git: hint:use --reapply-cherry-picks to include skipped commits

问&#xff1a; 当我在feture分支写完功能&#xff0c;切换到dev更新了远端dev代码&#xff0c;切回feture分支&#xff0c;git rebase dev分支后出现报错&#xff1a; warning skipped previously applied commit 709xxxx hint:use --reapply-cherry-picks to include skippe…...

AI:对比ChatGPT这类聊天机器人,人形机器人对人类有哪些不一样的影响?

人形机器人与像ChatGPT这样的聊天机器人相比&#xff0c;虽然都属于人工智能技术的应用&#xff0c;但由于其具备的物理形态和与环境的互动能力&#xff0c;它们对人类的影响会有很大的不同。下面从多个角度进行对比&#xff0c;阐述它们各自对人类的不同影响&#xff1a; 1. …...

vue3 +ts 学习记录

1 父子传参 父传子 父组件 <TestFuzichuancan :title"title"/> const title 父组件标题子组件 import { defineProps } from vue; interface Props {title?: string,arr: number[]; } const props withDefaults(defineProps<Props>(), {title: 默认…...

微服务的配置共享

1.什么是微服务的配置共享 微服务架构中&#xff0c;配置共享是一个重要环节&#xff0c;它有助于提升服务间的协同效率和数据一致性。以下是对微服务配置共享的详细阐述&#xff1a; 1.1.配置共享的概念 配置共享是指在微服务架构中&#xff0c;将某些通用或全局的配置信息…...

Scala分布式语言二(基础功能搭建、面向对象基础、面向对象高级、异常、集合)

章节3基础功能搭建 46.函数作为值三 package cn . itbaizhan . chapter03 // 函数作为值&#xff0c;函数也是个对象 object FunctionToTypeValue { def main ( args : Array [ String ]): Unit { //Student stu new Student() /*val a ()>{"GTJin"…...

Chromium 132 编译指南 Windows 篇 - 配置核心环境变量 (三)

1. 引言 在之前的 Chromium 编译指南系列文章中&#xff0c;我们已经完成了编译前的准备工作以及 depot_tools 工具的安装与配置。本篇我们将聚焦于 Chromium 编译过程中至关重要的环境变量设置&#xff0c;这些配置是您顺利进行 Chromium 构建的基石。 2. 启用本地编译&…...

开源文件存储分享平台Seafile部署与应用

Seafile 是一款开源的企业云盘,注重可靠性和性能,支持全平台客户端。Seafile 内置协同文档 SeaDoc ,让协作撰写、管理和发布文档更便捷。适用于团队协作、文件存储和同步的开源解决方案,它提供了可靠、安全和易用的云存储服务。主要有以下特点: 文件存储和同步:Seafile 允…...

MYSQL-创建数据库 CREATE DATABASE (十一)

13.1.11 CREATE DATABASE 语句 -- 创建 数据库的 CREATE 权限 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name[create_option] ...create_option: [DEFAULT] {CHARACTER SET [] charset_name| COLLATE [] collation_name } -- 删除 数据库具有 DROP 权限 DROP {DATABASE…...

Java高频面试之SE-11

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本牛马baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中是引用传递还是值传递&#xff1f; 在 Java 中&#xff0c;方法参数传递是通过 值传递 的方式实现的&#xff0c;但这可能会引起一…...

C#结构体,枚举,泛型,事件,委托--10

目录 一.结构体 二.特殊的结构体(ref struct): 三.枚举 四.泛型 泛型的使用: 1.泛型类:定义一个泛型类,使用类型参数T 2.泛型方法:在方法定义中使用类型参数 3.泛型接口 五.委托及泛型委托 委托 泛型委托 六.事件 事件: 泛型事件:使用泛型委托&#xff08;如Event…...

安全网站建设与服务的关系/能够免费换友链的平台

转自&#xff1a;http://blog.csdn.net/xuelin273/article/details/38646765 usb热插拔&#xff0c;即usb设备可以实现即插即用&#xff0c;像U盘一样&#xff0c;插到电脑里就可以用&#xff0c;不用时可以直接拔除&#xff0c;这个动作不会影响USB设备使用性能。 在linx 系统…...

南京公司网站建设/网络营销推广服务商

01、查看当前open用户 select username,account_status,expiry_date,profile from dba_users; 02、查看目前的密码过期策略 select * from dba_profiles s where s.profileDEFAULT and resource_namePASSWORD_LIFE_TIME; 03、修改密码过期策略 alter profile default limi…...

wordpress 设置缓存/网站seo排名优化工具

1、说话要有亲和力 接待顾客最好能够懂得幽默&#xff0c;不要一味地给顾客推荐水果&#xff0c;适当的和客人聊聊家常&#xff0c;能够增加顾客对你的好感&#xff0c;提高客人的回头率。自己努力做好品质&#xff0c;不可能所有人都喜欢你这家店&#xff0c;来你们家店消费&…...

做平台网站要增值业务吗/网站发帖推广平台

听了孙鑫老师不到两个小时的讲解。对HTML有了更进一步的了解。之前因为在牛腩前台代码编写的时候接触过这些东西&#xff0c;所以理解起来也不费劲了。下面总结一下这段视频的收获。 主要讲解了HTML元素与标签。如下图所示&#xff1a; 【HTML是什么&#xff1f;】 HTML&#…...

上海城乡建设网站/近期的时事热点或新闻事件

最近想分析一下四大名著生僻字数量&#xff0c;苦于没有质量好的txt文本。解决方案有两个&#xff0c;一是自己从pdf或epub上提取&#xff0c;二是找txt版本。后来在知乎上知道了殆知阁&#xff0c;不知道这个资料库质量如何&#xff1f; 网上回答&#xff1a; 我下载下来看了&…...

代理公司注册步骤/新乡网站优化公司推荐

一、先介绍一组概念进程进程是系统进行资源分配和调度的基本单位进程是一个实体&#xff0c;每一个进程都有自己地址空间线程线程是程序执行流的最小单元一个标准的线程由线程ID&#xff0c;当前指令指针(PC)&#xff0c;寄存器集合和堆栈组成线程是进程中的一个实体&#xff0…...