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

RM电控讲义【HAL库篇】(二)

8080并口模式是一种常见的计算机接口模式,主要用于LCD(液晶显示屏)模块。

在8080并口模式中,通信端口包括多种信号线,用于实现数据的读写和控制功能。主要的信号线包括:

CS(片选信号):用于选择LCD模块,低电平有效。当CS信号为低时,选中LCD模块进行数据传输。

WR(写信号):用于控制LCD模块的写操作。在写模式下,WR信号为低电平,表示向LCD模块写入数据。

RD(读信号):用于控制LCD模块的读操作。在读模式下,RD信号为低电平,表示从LCD模块读取数据。

DB[17:1](数据线):用于传输16位双向数据。在写模式下,数据从外部设备通过数据线写入LCD模块;在读模式下,数据从LCD模块通过数据线传输到外部设备。

OLED---SPI协议:

STM32的RTC(Real Time Clock)是一个实时时钟模块,它可以在系统掉电的情况下继续运行,并提供准确的日期和时间信息。RTC模块通常由一个独立的时钟源(如晶体振荡器或外部时钟源)驱动,以确保时间的准确性。RTC电源通常由纽扣电池提供。

STM32中的PVD(Programmable Voltage Detector,可编程电压检测器)是一种用于检测电源电压是否低于或高于某个设定值的硬件模块。当电源电压降到设定的阈值以下或升到设定的阈值以上时,PVD会触发一个中断,通知微控制器采取相应的措施。

在STM32中,PVD 2.9V检测通常指的是将PVD的阈值设定为2.9V。这意味着,当电源电压降到2.9V以下时,PVD会触发一个中断。这个中断可以被用来执行一些重要的任务,比如保存数据、关闭某些外设、降低微控制器的功耗等,以确保系统的稳定性和可靠性。

STM32的低功耗模式是一种特殊的模式,它允许微控制器进入极低功耗状态。其中,睡眠模式是低功耗模式的一种,其主要特点是CPU核心和主系统时钟会被关闭,但外设时钟仍然工作。在这种模式下,只有必要的时钟和电源供给被保留,以最小化功耗消耗。

STM32的低功耗模式主要包括睡眠模式、停机模式和待机模式,它们在功耗、唤醒时间和唤醒源等方面存在显著的差异。睡眠模式:在睡眠模式下,Cortex-M3内核停止工作,但CPU的供电(1.8V)并未断开。所有的GPIO引脚都保持它们在运行模式时的状态。此外,所有的外设,包括Cortex-M3核心的外设,如NVIC和系统时钟(SysTick)等仍在运行。睡眠模式可以通过外设中断唤醒,唤醒后代码从睡眠模式进入的下一条语句执行。由于外设仍在运行,睡眠模式的功耗相对较低,但高于停机模式。停机模式:在停机模式下,所有的时钟都停止,但CPU的电源(1.8V)并未断开。这意味着CPU的数据不会丢失,恢复后可以从原来的位置继续执行。停机模式可以通过外设中断唤醒,如GPIO引脚上的电平边沿触发外部中断,或者通过RTC模块的定时唤醒。由于所有时钟都已停止,停机模式的功耗非常低。待机模式:在待机模式下,时钟全断,CPU的电源(1.8V)也断开。这意味着唤醒后程序将重新开始运行,类似于软件复位。待机模式只能通过Wake-up脚和RTC唤醒。由于时钟和电源都完全断开,待机模式的功耗最低,但唤醒时间可能较长。

DMA的通道, DMA1_Channel1 ~ DMA1_Channel7, DMA2_Channel1 ~ DMA2_Channel5。某个外设对应哪个DMA, 哪个通道,必须设置正确的DMA及通道, 才能正常使用!

 dma_init(DMA1_Channel4);                /* 初始化串口1 TX DMA */

 HAL_UART_Transmit_DMA(&g_uart1_handle, g_sendbuf, SEND_BUF_SIZE);

12位精度, ADC采样时钟=12M, 转换时间为: 采样周期 + 12.5个ADC周期。设置最大采样周期: 239.5, 则转换时间 = 252 个ADC周期 = 21us

在STM32中,当进行ADC(模数转换器)采集时,IO引脚应该设置为模拟输入模式(GPIO_MODE_ANALOG)。这种模式允许引脚接收模拟信号,并将其转换为数字数据,以供ADC进行采集和处理。在其他模式下,如输入浮空、上拉输入、下拉输入、推挽输出或开漏输出等,引脚主要用于数字信号的传输或控制,并不适合直接用于ADC采集。因此,在进行ADC采集时,应将IO引脚设置为模拟输入模式,以确保准确的信号采集和转换。

STM32的ADC采样序列是指ADC在进行模拟信号到数字信号转换过程中,对于输入信号的采样顺序和优先级的设置。简单来说,它决定了ADC如何依次读取和转换各个模拟输入引脚的信号。

ADC采样的分辨率指的是ADC能够识别和转换的模拟信号的最小变化量。换句话说,它决定了ADC输出数字值的精度。ADC的分辨率通常以位数来表示,例如8位、10位、12位或16位等。这些位数表示ADC可以将模拟信号划分为多少个不同的等级或步长。例如,一个12位的ADC可以将模拟信号划分为2^12(即4096)个不同的等级,而一个16位的ADC则可以将模拟信号划分为2^16(即65536)个不同的等级。对于STM32来说,其ADC的分辨率通常是固定的,例如STM32F4系列通常具有12位分辨率。这意味着STM32F4系列的ADC可以将模拟信号划分为4096个不同的等级。

Stm32内部集成了温度和电压传感器,可以通过ADC读取。测量范围:-40~125,精度±1.5℃。虽然精度不高,但在某些应用场景下是够了的,相比于外部接入传感器,使用内部温度传感器既可以节省成本,又可以简化电路。

STM32的DAC:

【STM32】STM32 DAC_哔哩哔哩_bilibili

STM32F373的DAC功能_哔哩哔哩_bilibili

相关文章:

RM电控讲义【HAL库篇】(二)

8080并口模式是一种常见的计算机接口模式,主要用于LCD(液晶显示屏)模块。 在8080并口模式中,通信端口包括多种信号线,用于实现数据的读写和控制功能。主要的信号线包括: CS(片选信号&#xff…...

Mac安装Appium

一、环境依赖 一、JDK环境二、Android-SDK环境(android自动化)三、Homebrew环境四、Nodejs 安装cnpm 五、安装appium六、安装appium-doctor来确认安装环境是否完成七、安装相关依赖 二、重头大戏, 配置wda(WebDriverAgent&#x…...

数据库管理-第153期 Oracle Vector DB AI-05(20240221)

数据库管理153期 2024-02-21 数据库管理-第153期 Oracle Vector DB & AI-05(20240221)1 Oracle Vector的其他特性示例1:示例2 2 简单使用Oracle Vector环境创建包含Vector数据类型的表插入向量数据 总结 数据库管理-第153期 Oracle Vecto…...

通过傅里叶变换进行音频变声变调

文章目录 常见音频变声算法使用Wav库读写音频文件使用pitchShift算法进行音频变调主文件完整代码工程下载地址常见音频变声算法 在游戏或者一些特殊场景下为了提高娱乐性或者保护声音的特征,我们会对音频进行变声变调处理。常用的算法包括: 1.基于傅里叶变换的频域算法,该类…...

Opencv(C++)学习 ARM上引用opencv报相关头文件找不到

简单问题记录,C 与C互相引用时应该多注意类似问题。 问题描述:在项目中,建立了一个interface.h提供了一个C语言兼容的接口void work(),并在对应的interface.cpp中使用OpenCV完成相关处理实现。在PC端测试时,main.cpp成…...

中国服装行业ERP的现状与未来发展

随着全球数字化浪潮的兴起,中国服装行业也在不断探索数字化转型的路径,其中ERP(企业资源计划)系统作为管理和优化企业资源的重要工具,在服装行业中发挥着日益重要的作用。本文将探讨中国服装行业ERP的现状、作用&#…...

Unix与Linux区别

目录 历史和所有权 内核 发行版 开源性质 用户群体 命令行界面 历史和所有权 Unix: Unix是一个操作系统家族的名称,最早由贝尔实验室(Bell Labs)的肖像电机公司(AT&T)开发。最早的Unix版本是在19…...

惠尔顿 网络安全审计系统 任意文件读取漏洞复现

0x01 产品简介 惠尔顿网络安全审计产品致力于满足军工四证、军工保密室建设、国家涉密网络建设的审计要求,规范网络行为,满足国家的规范;支持1-3线路的internet接入、1-3对网桥;含强大的上网行为管理、审计、监控模块&#xff1b…...

Chrome插件(二)—Hello World!

本小节将指导你从头到尾创建一个基本的Chrome插件,你可以认为是chrome插件开发的“hello world”! 以下详细描述了各个步骤: 第一步:设置开发环境 确保你拥有以下工具: 文本编辑器:如Visual Studio Cod…...

DBAPI如何使用数组类型参数

DBAPI如何使用数组类型参数 需求 根据多个id去查询学生信息 API创建 在基本信息标签&#xff0c;创建参数ids &#xff0c;参数类型选择 Array<bigint> 在执行器标签&#xff0c;填写sql&#xff0c;使用in查询 select * from student where id in <foreach ope…...

博途PLC PID仿真(单容水箱液位高度控制含变积分变增益测试)

单容水箱和双荣水箱的微分方程和数值求解,可以参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/131139432https://rxxw-control.blog.csdn.net/article/details/131139432这篇博客我们利用欧拉求解器在PLC里完成单容水箱的数学建模。PLC也可以和MATL…...

第1集《灵峰宗论导读》

《灵峰宗论》导读。诸位法师&#xff0c;诸位同学&#xff0c;阿弥陀佛&#xff01;&#xff08;阿弥陀佛&#xff01;&#xff09; 学人很高兴&#xff0c;这次有一个殊胜的因缘来跟大家共同地学习《灵峰宗论》的课程。《灵峰宗论》是蕅益大师一生当中在佛法的修学心得。在蕅…...

nuxt CSS 存放到独立文件进行SEO优化

nuxt CSS 到独立文件 在Nuxt.js中将CSS样式从单个文件分离为多个独立的文件可以通过使用extract-text-webpack-plugin来完成。 首先&#xff0c;确保已经安装了该插件&#xff1a; npm install extract-text-webpack-plugin --save-dev然后&#xff0c;在项目根目录下创建一个…...

台式电脑电源功率越大越费电吗?装机选购多少W电源

要组装一台电脑&#xff0c;我们首先需要选择硬件。 硬件搭配最关键的一点就是CPU和主板的兼容性。 硬件、电源等之间的平衡都需要仔细考虑。 那么台式电脑电源多大功率合适呢&#xff1f; 下面分享组装电脑电源瓦数选购指南&#xff0c;教您正确选择合适的电源瓦数。 让我们来…...

《TCP/IP详解 卷一》第4章 地址解析协议ARP

目录 4.1 引言 4.2 一个例子 4.3 ARP缓存 4.4 ARP帧格式 4.5 ARP例子 4.6 ARP缓存超时 4.7 代理ARP 4.8 免费ARP和地址冲突检测 4.9 ARP命令 4.10 使用ARP设置嵌入式设备IPv4地址 4.11 与ARP相关攻击 4.12 总结 4.1 引言 地址解析&#xff1a; IPv4&#xff1a;AR…...

如何在pgAdmin中用替换的值更新jsonb列?

我有一个名为files的PostgreSQL表&#xff0c;其中包括一个名为formats的jsonb表。虽然有些行是[null]&#xff0c;但其他行具有此结构的对象&#xff1a; {"thumbnail": {"ext": ".jpg","url": "https://some-url.com/image01.…...

冯诺依曼体系结构 计算机组成的金字塔

01 冯诺依曼体系结构&#xff1a;计算机组成的金字塔 学习计算机组成原理&#xff0c;到底是在学些什么呢&#xff1f;这个事儿&#xff0c;一两句话还真说不清楚。不过没关系&#xff0c;我们先从“装电脑”这个看起来没有什么技术含量的事情说起&#xff0c;来弄清楚计算机到…...

AWS安全组是什么?有什么用?

最近看到小伙伴在问&#xff0c;AWS安全组是什么&#xff1f;有什么用&#xff1f;今天我们大家就来简单聊聊&#xff0c;仅供参考哦&#xff01; AWS安全组是什么&#xff1f;有什么用&#xff1f; 【回答】&#xff1a;AWS安全组是一种虚拟防火墙&#xff0c;用于控制进出…...

SSM项目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架实现登录和主页菜单显示

目录 前言 一、加入DWZ J-UI框架 二、实现登录页面 三、实现主页面菜单显示 前言 大家好&#xff01;写文章之前先列出几篇相关文章。本文内容也在其项目中接续实现。 一. SSM项目集成Spring Security 4.X版本&#xff08;使用spring-security.xml 配置文件方式&#xff…...

【MySQL】如何理解MySQL的锁(图文并茂,一网打尽)

一、锁的介绍 锁是计算机协调多个进程或者线程并发访问某一资源的机制。那么如何保证数据并发访问的一致性、有效性是数据库必须解决的一个问题&#xff0c;锁的冲突也是影响数据库并发访问性能的一个重要因素&#xff0c;所以数据库中锁的应用极为重要&#xff0c;其复杂度也更…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...