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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/408146.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcgisForJS如何将ArcGIS Server发布的点要素渲染为热力图?

文章目录 0.引言1.ArcGIS创建点要素2.ArcGIS Server发布点要素3.ArcgisForJS将ArcGIS创建的点要素渲染为热力图 0.引言 ArcGIS For JS 是一个强大的地理信息系统(GIS)工具,它允许开发者使用 JavaScript 语言来创建各种 GIS 应用。ArcGIS Ser…

Java——防止SQL注入的几种策略

一、什么是SQL注入 SQL注入(SQL Injection)是一种常见的网络安全漏洞,它允许攻击者通过操纵应用程序的输入来执行恶意的SQL查询。这种漏洞发生在应用程序没有正确验证、过滤或转义用户提供的输入数据时。攻击者可以利用这个漏洞来执行未经授…

Flask基础学习3

参考视频:41-【实战】答案列表的渲染_哔哩哔哩_bilibili flask 实现发送短信功能 pip install flask-mail # 安装依赖 我这里用登录的网易邮箱获取的授权码(登录QQ邮箱的授权码总是断开收不到邮件), # config # config mail MAI…

Python入门必学:单引号、双引号与三引号的差异与应用

Python入门必学:单引号、双引号与三引号的差异与应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得…

HC595级联原理及实例 - STM32

74HC595的最重要的功能就是:串行输入,并行输出。其次,74HC595里面有2个8位寄存器:移位寄存器、存储寄存器。74HC595的数据来源只有一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个…

MiKTeX安装后,Latex编译后PDF无法预览,是灰色的

解决方式删掉编译器就可以, 即删掉MiKTeX MiKTeX安装后会将编译器默认修改为MiKTeX,这个时候会显示报错,简单粗暴的方式是删掉MiKTeX软件

python统计分析——单因素方差分析

参考资料:用python动手学统计学 方差分析:analysis of variance,缩写为ANOVA 1、背景知识 1.1 要使用方差分析,数据的总体必须服从正态分布,而且各个水平内部的方差必须相等。 1.2 反复检验导致显著性结果更易出现…

相机选型介绍

摄影测量中,相机是非常重要的角色,合适的相机产出合适的图像,得到合适的重建精度,这是相机的重要性。 您也许第一反应是,摄影测量所需的理想相机,是有着超高分辨率的相机,但事实可能并非如此&a…

太阳能光伏模型的参数确定及模型应用介绍

一、太阳能光伏模型介绍 ​ 太阳能通过光伏(PV)发电系统转化为电能。通过使用新材料技术,一直致力于提高光伏系统中太阳能电池的功率转换效率。基于钙钛矿太阳能电池的冠军器件具有24.8%的认证功率转换效率,仍有很大的改进空间。…

学习 LangChain 的 Passing data through

学习 LangChain 的 Passing data through 1. Passing data through2. 示例 1. Passing data through RunnablePassthrough 允许不改变或添加额外的键来传递输入。这通常与 RunnableParallel 结合使用,将数据分配给映射中的新键。 RunnablePassthrough() 单独调用&…

ChatGPT Plus遇到订阅被拒原因与解决方案

ChatGPT Plus被广泛认为相比普通版本更快、更强,并且能最先体验新功能。 很多小伙伴再订阅时遇到图片中的问题 错误提示包括这些: Your credit card was declined.Try paying with a debit card instead.您的信用卡被拒绝了。请尝试用借记卡支付。你的…

Data-Shape制作UI节点简介

很多小伙伴对于Data-Shape制作简单的UI都是似懂非懂,群里很多小伙伴也总是询问相关的问题,那么,今天我就简单举几个例子,专门介绍下Data-Shape创建简单UI的教程。 首先,本次教程,使用的是Data-Shape 2021.…

队列基础练习(C语言实现)

目录 队列基础练习 用队列实现栈 用栈实现队列 设计循环队列 队列基础练习 用队列实现栈 题目链接:225. 用队列实现栈 - 力扣(LeetCode) 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部…

政安晨【示例演绎虚拟世界开发】(一):Cocos Creator 的 Hello World

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: AI虚拟世界大讲堂 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正。 前言 Cocos Creator是一款非常强大的游戏开发引擎,它有着优秀…

基于springboot+vue的安康旅游网站(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

洛谷P5723 质数口袋 题解

#题外话&#xff08;第39篇题解&#xff09;&#xff08;本题为普及-难度&#xff09; #先看题目 题目链接https://www.luogu.com.cn/problem/P5723 #思路&#xff08;看代码吧&#xff09; #代码 #include <bits/stdc.h> using namespace std; bool p(int p_i){for(i…

啊丢的刷题记录手册

1.洛谷题P1923 求第k小的数 题目描述 输入 n&#xff08;1≤n<5000000 且 n 为奇数&#xff09;个数字ai​&#xff08;1≤ai​<109&#xff09;&#xff0c;输出这些数字的第 k 小的数。最小的数是第 0 小。 请尽量不要使用 nth_element 来写本题&#xff0c;因为本题…

《优化接口设计的思路》系列:第八篇—分页接口的设计和优化

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 第六篇—接口防抖(防重复提交)的一些方式 第七篇—接口限流策略 第八篇—分页接口的设计和优化 …

C语言实现简单选择排序

简单选择排序 简单选择排序的平均复杂度为 O(n2),但效率通常比相同平均复杂度的直接插入排序还要差。但由于选择排序是 内部排序&#xff0c;因此在内存严格受限的情况下还是可以用的。选择排序的原理很简单&#xff0c;如下图所示&#xff1a;持续从未处理元素中找到最小值并加…

虚拟机的四种网络模式对比

nat网络地址转换 nat网络 桥接 内网模式 仅主机
最新文章