STM32单片机选型方法
一.STM32单片机选型方法
1.首先要确定需求:
性能需求:根据应用的复杂度和性能要求,选择合适的CPU性能和主频。
内存需求:确定所需的内存大小,包括RAM和Flash存储空间。
外设需求:根据应用所需的功能,选择具有相应外设的单片机,如USB、CAN、ADC、DAC、I2C、SPI等。
电源需求:考虑单片机的电源电压范围和功耗要求。
2.需求确定后就可以到官网进行选型
(1)网址:https://www.stmcu.com.cn/Product/pro_detail/PRODUCTSTM32/product
(2)不同系列介绍
STM32F系列:适用于通用应用,提供不同的性能和外设选项。
STM32L系列:低功耗系列,适用于电池供电的应用。
STM32H系列:高性能系列,适用于需要高处理能力的应用。
STM32W系列:无线系列,集成无线通信模块。
(3)具体参数选项选型
(4)导出选型表
上图中的表格还可以单击右上方的导出按钮导出表格为excel文档,离线进行选型。
二.STM32单片机模块名词解释
1.STM32微控制器中的定时器可以分为以下几种类型
16位定时器:这些定时器具有16位的计数器,可以用来进行时间测量、PWM信号生成、输入捕获等。16位定时器的计数范围为0到65535,适合于需要较高精度但计数范围有限的应用。
32位定时器:这些定时器具有32位的计数器,相比于16位定时器,32位定时器具有更大的计数范围,可以用来进行长时间的测量或者需要更高精度的应用。32位定时器的计数范围为0到4294967295。
电机控制定时器(16-bit):这些定时器专为电机控制应用设计,具有高级控制功能,如死区时间生成、互补输出、紧急停止等。它们通常具有多个通道,可以用来控制电机的速度和位置。
低功耗定时器:这些定时器专为低功耗应用设计,可以在微控制器进入低功耗模式时继续运行。它们通常具有较低的功耗,适合于需要长时间运行的电池供电应用。
高分辨率定时器:这些定时器具有高分辨率,可以用来进行精确的时间测量或者生成高精度的PWM信号。它们通常具有更高的计数频率,可以提供纳秒级的时间分辨率。
2.读取步进电机编码器计数,stm32通用定时器满足要求吗?
STM32微控制器中的通用定时器通常可以满足读取步进电机编码器计数的要求。通用定时器具有输入捕获功能,可以用来捕获外部信号的边沿,并记录当前的计数值。
通过比较连续捕获到的计数值,可以计算出编码器在一定时间内旋转的步数,从而得到电机的速度和位置信息。
在使用通用定时器读取编码器计数时,需要注意以下几点:
定时器时钟配置:需要根据编码器的分辨率和最大旋转速度来配置定时器的时钟频率,以确保定时器具有足够的分辨率和计数范围。
输入捕获配置:需要配置定时器的输入捕获通道,以捕获编码器信号的边沿。通常需要配置两个输入捕获通道,分别捕获编码器A相和B相的信号,以实现正反转的检测。
中断处理:为了实时处理编码器的信号,通常会使用中断来响应输入捕获事件。在中断服务程序中,可以读取定时器的捕获值,并计算出电机的速度和位置。
滤波处理:为了提高输入信号的抗干扰能力,可能需要对编码器信号进行滤波处理。STM32定时器通常提供了数字滤波器,可以用来滤除输入信号中的噪声。
3.STM32单片机中包含了多种不同的硬件模块和功能,以下是一些主要模块的解释:
比较器:STM32单片机中的比较器是一种模拟电路,用于比较两个模拟电压的大小。当一个电压高于另一个电压时,比较器的输出会发生变化,可以用来实现信号的阈值检测、ADC的窗口比较等功能。
放大器**:STM32单片机中的放大器通常指的是运算放大器(Op-Amp),可以用来放大模拟信号。STM32的运算放大器可以配置为多种工作模式,如跟随器、反相放大器、同相放大器等,用于模拟信号的处理和转换。
SAI:Serial Audio Interface(SAI)是一种专为音频数据传输设计的串行通信接口。STM32的SAI模块可以用来传输音频数据,支持I2S协议,适用于音频播放和录音等应用。
DCMI:Digital Camera Interface(DCMI)是一种专为数字相机设计的接口,用于接收来自摄像头的数据。STM32的DCMI模块可以用来接收和处理摄像头输出的图像数据,适用于图像采集和处理等应用。
SWPMI:Single Wire Protocol Master Interface(SWPMI)是一种单线通信接口,用于与外部设备进行通信。STM32的SWPMI模块可以用来与支持单线协议的外设进行数据交换,简化了通信接口的设计。
Math Accelerator:数学加速器是一种硬件加速模块,用于加速数学运算,如浮点运算、三角函数计算等。STM32的数学加速器可以提高数学运算的效率,适用于需要高速数学处理的应用。
RF:Radio Frequency(RF)模块指的是无线通信模块,用于实现无线数据传输。STM32的RF模块可以与外部RF收发器配合使用,实现无线通信功能,适用于无线传感器网络、远程控制等应用。
Trust'Zone:Trust'Zone是一种安全技术,用于在单片机内部创建一个安全的执行环境。STM32的Trust'Zone技术可以保护敏感数据和代码,防止未授权访问和篡改,适用于安全要求较高的应用。
TRNG:True Random Number Generator(TRNG)是一种真随机数生成器,用于生成不可预测的随机数。STM32的TRNG模块可以用来生成用于加密和安全应用的随机数,提高系统的安全性。
OTFDEC:On-The-Fly Decryption(OTFDEC)是一种实时解密技术,用于在数据读取时自动解密存储在闪存中的加密数据。STM32的OTFDEC模块可以提高数据的安全性,同时减少CPU的负担。
PKA:Public Key Accelerator(PKA)是一种公钥加速器,用于加速公钥加密算法的运算,如RSA、ECC等。STM32的PKA模块可以提高公钥加密和签名的效率,适用于安全通信和身份验证等应用。
AES/DES:Advanced Encryption Standard(AES)和Data Encryption Standard(DES)是两种常用的对称加密算法。STM32的AES/DES模块可以用来加密和解密数据,提高数据的安全性。
SHA/HMAC:Secure Hash Algorithm(SHA)和Hash-based Message Authentication Code(HMAC)是两种常用的加密哈希函数。STM32的SHA/HMAC模块可以用来生成数据的哈希值,用于数据完整性验证和消息认证等应用。
4.STM32单片机中有型号支持I2C和I3C是两种不同的通信协议,以下是I2C和I3C的主要区别:
通信方式**:
- **I2C**(Inter-Integrated Circuit)是一种串行通信协议,它使用两条线(SDA和SCL)进行数据传输和时钟同步。I2C支持多个主设备和多个从设备,通过地址来区分不同的设备。
- **I3C**(Improved Inter-Integrated Circuit)是I2C的改进版,它保留了I2C的基本通信机制,同时增加了一些新的特性,如更高的数据传输速率、动态地址分配、主从角色切换等。I3C还引入了第三条线(DCAP),用于动态地址分配和控制信号传输。
数据速率**:
- **I2C**的数据传输速率通常在几百kbps到几Mbps之间,具体速率取决于I2C总线的配置和电路的设计。
- **I3C**的数据传输速率比I2C更高,可以达到几十Mbps甚至更高,这使得I3C更适合于高速数据传输的应用。
地址分配**:
- **I2C**的地址分配是静态的,每个设备在设计时就分配了一个固定的7位或10位地址。
- **I3C**支持动态地址分配,设备可以通过DCAP线进行地址协商,从而简化了地址管理的复杂性。
主从角色**:
- **I2C**的主从角色是固定的,主设备负责发起通信并控制数据传输的过程。
- **I3C**支持主从角色切换,设备可以根据需要切换为主设备或从设备,这为通信提供了更高的灵活性。
应用场景**:
- **I2C**广泛应用于低速到中速的通信场合,如传感器数据采集、显示屏控制等。
- **I3C**由于其更高的数据传输速率和更灵活的通信机制,适用于高速数据传输和复杂系统中的设备管理。
5.在STM32系列处理器中有的型号有GPU功能
GPU(图形处理单元)主要负责图形数据的处理和显示,这包括2D和3D图形的渲染。STM32MP157是一款集成了3D GPU的处理器,它搭载了Vivante GC7000ULX3D图形引擎,支持OpenGL ES 2.0和OpenVG 1.1标准。
STM32MP157的3D GPU是基于Vivante技术,具有以下特性:
硬件架构:Vivante GC7000ULX3D图形引擎
支持的图形标准:OpenGL ES 2.0, OpenVG 1.1
主要应用:3D图形渲染,如游戏、动画和复杂图形用户界面(GUI)
6.STM32单片机配置特别说明(个别型号最大支持)
uart最多可以达到十个;
Cortex-M7的主频最大可以达到600M;
12位ADC通道最多可以达到42个,14位ADC通道最多的可以达到27个
相关文章:

STM32单片机选型方法
一.STM32单片机选型方法 1.首先要确定需求: 性能需求:根据应用的复杂度和性能要求,选择合适的CPU性能和主频。 内存需求:确定所需的内存大小,包括RAM和Flash存储空间。 外设需求:根据应用所需的功能&…...
gsap动画库的实践
先看效果: gsap动画库 安装插件:npm install gsap <template><div><h1 style"text-align: left">gsap的用法</h1><h1 style"text-align: left">https://gsap.com/resources/get-started</h1>&…...

LeetCode | 387.字符串中的第一个唯一字符
这道题可以用字典解决,只需要2次遍历字符串,第一次遍历字符串,记录每个字符出现的次数,第二次返回第一个出现次数为1的字符的下标,若找不到则返回-1 class Solution(object):def firstUniqChar(self, s):""…...
textarea 中的内容在word中显示换行不起作用
js文本换行在word显示 在JavaScript中,处理文本换行以确保它在Word中正确显示,通常需要将文本中的换行符转换为Word可识别的格式。在HTML中,换行通常是通过<br>标签来实现的,而在Word中,换行通常由段落标签<…...
Python 测试用例
在Python中编写测试用例通常使用unittest模块,这是Python标准库的一部分,专门用于编写和运行测试。下面是一个简单的测试用例的例子,展示了如何使用unittest模块来测试一个函数。 假设我们有一个简单的函数,用于计算两个数的和&a…...

树莓派等Linux开发板上使用 SSD1306 OLED 屏幕,bullseye系统 ubuntu,debian
Raspberry Pi OS Bullseye 最近发布了,随之而来的是许多改进,但其中大部分都在引擎盖下。没有那么多视觉差异,最明显的可能是新的默认桌面背景,现在是大坝或湖泊上的日落。https://www.the-diy-life.com/add-an-oled-stats-display-to-raspberry-pi-os-bullseye/ 通过这次操…...

SpringBoot3 整合 Mybatis 完整版
本文记录一下完整的 SpringBoot3 整合 Mybatis 的步骤。 只要按照本步骤来操作,整合完成后就可以正常使用。1. 添加数据库驱动依赖 以 MySQL 为例。 当不指定 依赖版本的时候,会 由 springboot 自动管理。 <dependency><groupId>com.mysql&l…...

图解Transformer学习笔记
教程是来自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 图解Transformer Attention为RNN带来了优点,那么有没有一种神经网络结构直接基于Attention构造,而不再依赖RNN、LSTM或者CNN的结构,这就是Trans…...

【Java并发编程之美 | 第一篇】并发编程线程基础
文章目录 1.并发编程线程基础1.1什么是线程和进程?1.2线程创建与运行1.2.1继承Thread类1.2.2实现Runnable接口1.2.3实现Callable接口(与线程池搭配使用)1.2.4小结 1.3线程常用方法1.3.1线程等待与通知1.3.2线程睡眠1.3.3让出CPU执行权1.3.4线…...

基于python-CNN卷积网络训练识别牛油果和猕猴桃-含数据集+pyqt界面
代码下载地址: https://download.csdn.net/download/qq_34904125/89383066 本代码是基于python pytorch环境安装的。 下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。 或可直接参考下面博文…...

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation
Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络(LBSNs),如Foursquare和Facebook Places的日益流行,大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用,以…...

深度学习之---迁移学习
目录 一、什么是迁移学习 二、为什么需要迁移学习? 1. 大数据与少标注的矛盾: 2. 大数据与弱计算的矛盾: 3. 普适化模型与个性化需求的矛盾: 4. 特定应用(如冷启动)的需求。 三、迁移学习的基本问题有…...
百度网盘限速解决办法
文章目录 开启P2P下载30秒会员下载体验一次性高速下载服务导入“百度网盘青春版”后下载注册新号参与活动 获取下载直链后使用磁力链接下载不是办法的办法无效、已失效方法免限速客户端、老版本客户端、永久会员下载体验试用客户端,或类似脚本、工具获取下载直链后多…...

银河麒麟系统项目部署
使用服务器信息 软件:VMware Workstation Pro 虚拟机:ubtun 内存:20G 虚拟机连接工具: MobaXterm Redis连接工具: RedisDesktopManager 镜像:F:\Kylin-Server-10-8.2-Release-Build09-20211104-X86_64…...

Stable Diffusion【应用篇】【艺术写真】:粘土风之后陶瓷风登场,来看看如何整合AI艺术写真吧
在国外的APP Remini引爆了粘土滤镜后,接着Remini又推出了瓷娃娃滤镜。相当粘土滤镜,个人更喜欢瓷娃娃滤镜,因为陶瓷工艺更符合东方艺术审美。 下面我们就来看看陶瓷特效在AI写真方面的应用。话不多说,我们直接开整。 关于粘土整…...

手机IP地址距离多远会变:解析移动设备的网络定位奥秘
在移动互联网时代,手机IP地址扮演着至关重要的角色,它不仅是我们访问网络的基础,还常常与网络定位、地理位置服务等相关联。那么,手机IP地址在距离多远时会发生变化呢?手机IP地址距离多远会变?下面跟着虎观…...

ChatGPT中文镜像网站分享
ChatGPT 是什么? ChatGPT 是 OpenAI 开发的一款基于生成预训练变换器(GPT)架构的大型语言模型。主要通过机器学习生成文本,能够执行包括问答、文章撰写、翻译等多种文本生成任务。截至 2023 年初,ChatGPT 的月活跃用户…...

碳化硅陶瓷膜良好的性能
碳化硅陶瓷膜是一种高性能的陶瓷材料,以其独特的物理和化学特性,在众多领域展现出了广泛的应用前景。以下是对碳化硅陶瓷膜的详细介绍: 一、基本特性 高强度与高温稳定性:碳化硅陶瓷膜是一种非晶态陶瓷材料,具有极高的…...

每日一题——Python实现PAT乙级1028 人口普查 Keyboard(举一反三+思想解读+逐步优化)六千字好文
一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 题目链接编辑我的写法 专业点评 时间复杂度分析 空间复杂度分析 总结 我要更强…...

小程序 UI 风格,构建美妙视觉
小程序 UI 风格,构建美妙视觉...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...