福州网站建设H5/成都网站排名优化公司

福州网站建设H5,成都网站排名优化公司,wordpress回复显示插件,简历模板个人简历电子版免费可编辑一、GPIO 1、概念 通用输入输出口;开发者可以根据自己的需求将其配置为输入或输出模式,以实现与外部设备进行数据交互、控制外部设备等功能。简单来说,GPIO 就像是计算机或微控制器与外部世界沟通的 “桥梁”。 2、工作模式 工作模式性质特…

一、GPIO

1、概念

通用输入输出口;开发者可以根据自己的需求将其配置为输入或输出模式,以实现与外部设备进行数据交互、控制外部设备等功能。简单来说,GPIO 就像是计算机或微控制器与外部世界沟通的 “桥梁”。

2、工作模式

工作模式性质特征
上拉输入数字输入可读取引脚电平,内部连接上拉电阻,悬空时默认高电平
下拉输入数字输入可读取引脚电平,内部链接下拉电阻,悬空时默认低电平
模拟输入模拟输入GPIO无效,引脚直接接入内部ADC
浮空输入数字输入可读取引脚电平,若引脚悬空,则电平不稳定
推挽输出数字输出可输出引脚电平,高电平为VDD,低电平接VSS
开漏输出数字输出可输出引脚电平,高电平为高阻态,低电平接VSS
复用推挽输出数字输出由片上外设控制,高电平为VDD,低电平接VSS
复用开漏输出数字输出由片上外设控制,高电平为高阻态,低电平接VSS

3、外设寄存器

外设寄存器功能模式选择
GPIOx_MODER(GPIO端口模式寄存器)用于配置 GPIO 引脚的工作模式,每个 GPIO 引脚对应 2 位,通过设置这 2 位的值,可以将引脚配置为不同的模式。

00:输入模式;01:通用输出模式;10:复用功能模式;11:模拟模式。

GPIOx_OTYPER(GPIO端口输出类寄存器)当 GPIO 引脚配置为输出模式(通用输出或复用功能输出)时,该寄存器用于选择输出类型,即推挽输出或开漏输出。每个 GPIO 引脚对应 1 位。0:推挽输出;1:开漏输出。
GPIOx_OSPEEDR(GPIO端口输出速度寄存器)用于配置 GPIO 引脚的输出速度,每个 GPIO 引脚对应 2 位。输出速度影响引脚的信号上升和下降时间,不同的速度适用于不同的应用场景。00:低速;01:中速;10:高速;11:超高速。
GPIOx_PUPDR(GPIO端口上拉/下拉)用于配置 GPIO 引脚的上拉或下拉电阻,每个 GPIO 引脚对应 2 位。上拉或下拉电阻可以确保引脚在没有外部信号输入时保持稳定的电平状态。00:无上下拉;01:上拉;10:下拉;11:保留。
GPIOx_IDR(GPIO端口输入数据寄存器)用于读取 GPIO 引脚的输入电平状态。该寄存器是只读的,每个引脚对应 1 位,读取相应的位可以获取该引脚当前的电平(高电平或低电平)。
GPIOx_ODR(GPIO端口输出数据寄存器)用于设置 GPIO 引脚的输出电平状态。当 GPIO 引脚配置为输出模式时,向该寄存器的相应位写入 0 或 1 可以将引脚设置为低电平或高电平。
GPIOx_BSRR(GPIO端口置位/复位寄存器)用于原子性地设置或清除 GPIO 引脚的输出电平。该寄存器分为两部分,低 16 位用于置位(将引脚设置为高电平),高 16 位用于复位(将引脚设置为低电平)。
GPIOx_BRR(GPIO端口复位寄存器)专门用于将 GPIO 引脚的输出电平复位(设置为低电平)。该寄存器的每一位对应一个 GPIO 引脚,向相应的位写入 1 可以将对应的引脚设置为低电平。

二、TIM

1、概念

定时器是一种能够对时间进行奇数的硬件设备。它可以按照预设的规则对时钟信号进行计数,当计数值达到设定的阈值时,会触发相应的事件,如产生中断、输出特定的信号等。通过对定时器的配置和使用,开发者可以实现精确的时间控制,满足各种不同的应用需求。

2、工作原理

定时器的核心是一个计数器,它会在时钟信号的驱动下进行计数操作。时钟信号可以来自于内部时钟源(如系统时钟),也可以来自外部时钟源。计数器从初始值开始,每接收到一个时钟脉冲,计数值就会加1(或减1,具体取决于定时器的工作模式)。当计数值达到预设的自动重载函数值时,计数器会产生溢出事件,根据定时器的配置,可能会触发中断、更新输出信号等。 

 计数模式:①递增计数模式;②递减计数模式;③中心对齐模式。

 内部工作框图:

3、PWM脉冲宽度调剂

1、概念:

PWM是一种对模拟信号电平进行数字编码的方法。通过定时器产生一系列脉冲信号,这些脉冲信号的频率通常保持不变,但是脉冲的宽度(即高电平持续的时间)可以根据需要进行调整。通过改变脉冲的宽度,可以等效地控制输出信号的平均电平,从而实现对一些设备的模拟控制。

2、工作原理:

定时器是产生PWM信号的核心部件。定时器内部有一个计数器,它会在时钟信号的驱动下不断计数。同时,还有一个比较寄存器,用于存储一个比较值。当计数器的值小于比较值时,定时器输出高电平;当计数器的值大于比较值时,定时器输出低电平。计数器计数到自动重装载值后会重新归零,开始下一个计数周期。通过改变比较寄存器的值,就可以更改脉冲的宽度。

3、关键参数:

周期:

pwm信号完成一个完整的脉冲循环所需的时间,它决定了pwm信号的频率。周期的倒数就是频率。在定时器中,周期通常由自动重装载值和时钟频率共同决定。

占空比:

指的是脉冲信号中高电平持续时间与整个周期的比值,通常用百分比表示。通过改变占空比,可以控制pwm信号的平均电平。

4、外设寄存器 

外设寄存器功能具体功能位及其作用
TIMx_CR1(定时器控制寄存器1)

该寄存器用于对定时器的基本工作模式和运行状态进行配置和控制。

计数器使能位:当该位置为 1 时,定时器计数器开始计数;置为 0 时,计数器停止计数。计数器方向位:用于设置计数器的计数方向,0 表示向上计数(从 0 开始递增到自动重装载值),1 表示向下计数(从自动重装载值开始递减到 0)。自动重装载预装载使能位:若该位置 1,自动重装载寄存器(TIMx_ARR)的值会在更新事件发生时才被传送到影子寄存器;置 0 时,TIMx_ARR 的值会立即生效单位脉冲模式位:置 1 时,定时器在发生一次更新事件后停止计数,常用于只需要单次定时操作的场景。
TIMx_CCMR1(定时器捕获/比较模式寄存器)主要用于配置定时器的捕获 / 比较通道 1 和通道 2 的工作模式,包括输入捕获模式和输出比较模式。模式选择位:用于选择通道 1 或通道 2 的输出比较模式,例如 PWM 模式 1、PWM 模式 2 等。不同的模式决定了计数器值与比较值的比较方式以及输出引脚的电平变化规则。输入捕获预分频器位:在输入捕获模式下,用于设置输入信号的预分频系数,以减少捕获不必要的信号边沿,提高捕获精度。输出比较预装载使能位:置 1 时,比较寄存器的值会在更新事件发生时才被传送到影子寄存器;置 0 时,比较寄存器的值会立即生效。
TIMx_CCER(定时器捕获/比较使能寄存器)该寄存器用于控制定时器捕获 / 比较通道的使能和极性。捕获/比较使能位:用于使能相应的捕获 / 比较通道。例如,CC1E 置 1 时,通道 1 的捕获或比较功能被使能;置 0 时,功能被禁用。捕获/比较极性位:用于设置捕获 / 比较通道的输入或输出极性。例如,在输入捕获模式下,该位决定是捕获上升沿还是下降沿;在输出比较模式下,决定输出信号的初始电平。
TIMx_PSC(定时器预分频器寄存器)用于设置定时器时钟的预分频系数,从而调整定时器计数器的计数频率。定时器的时钟源通常具有较高的频率,通过设置预分频器,可以将时钟频率降低到合适的范围,以满足不同的定时需求。例如,若预分频系数设置为 10,则计数器每接收到 10 个时钟脉冲才会加 1。
TIMx_ARR(定时器自动重装载寄存器)存储定时器计数器的自动重装载值。当计数器的值达到该寄存器存储的值时,会产生更新事件,计数器可能会重新归零(取决于计数方向和配置)。自动重装载值与预分频系数共同决定了定时器的定时周期。通过改变自动重装载值,可以调整定时器的定时时间。
TIMx_CCR1(定时器捕获/比较寄存器1)在输入捕获模式下,该寄存器用于存储捕获到的计数器值;在输出比较模式下,用于存储与计数器值进行比较的值。输入捕获模式:当定时器检测到指定的输入信号边沿(上升沿或下降沿)时,会将当前计数器的值捕获到 TIMx_CCR1 中,通过分析这些捕获值,可以测量输入信号的周期、脉宽等参数。输出比较模式:计数器的值会不断与 TIMx_CCR1 中的值进行比较,当两者相等时,会根据配置产生相应的输出动作,如改变输出引脚的电平状态,常用于产生 PWM 信号等。

5、看门狗定时器

1、概念(工作原理):

它会在系统正常运行时按照一定的时间间隔进行计数。在系统运行过程中,程序需要定期对看门狗定时器进行 “喂狗” 操作,即重置定时器的计数值。如果由于某种原因(如程序跑飞、硬件故障等)导致系统未能及时 “喂狗”,看门狗定时器就会溢出,进而触发一个复位信号,使系统重新启动,以恢复到正常的工作状态。

2、设置看门狗的步骤:

①确定看门狗的时钟频率

②对时钟频率进行分频

③给看门狗一个看门阈值

④主程序中正常喂狗

三、IIC

1、概述

iic是一种同步串行通信协议,有Philips(现为NXP)开发,广泛用于低速、短距离的多设备通信。iic允许多个设备(包括多个主设备和从设备)共享2根线路:数据线(SDA)和时钟线(SCL)。

2、工作原理 

由主设备控制时钟线(SCL),通过数据线(SDA)与多个从设备通信。每个设备由唯一的地址,主设备通过设备地址选择要通信的设备。

3、应用场景

传感器、EEPROM、RTC(实时时钟)、显示屏等。

4、iic的信号

起始信号(SCL为高电平期间,SDA由高电平向低电平变化)。

终止信号(SCL为高电平期间,SDA由低电平向高电平变化)。

应答信号(接收方接收到数据后,还可以进行下一次8bit数据的接收)。

非应答信号(接收方接收到数据后,不可以进行下一次8bit数据的接收)

数据接收和发送信号。

5、主机和从机通信过程分析

①主机给从机发送数据

②主机从从机读取数据

四、SPI

1、概述

spi是一种同步串行通信协议,用于主从设备之间的高速数据传输。spi是全双工通信,意味着数据可以同时在两个方向上传输。它使用四根信号线:时钟线(SCK)、主设备输入从设备输出线(MISO)、主设备输出从设备输入线(MOSI)和片选线(SS)来进行通信。

 

2、工作原理 

主设备提供时钟信号(SCK),通过数据线(MISO和MOSI)与从设备进行双向数据传输。每个从设备需要一个单独的片选信号(SS)来进行通信。

3、应用场景

存储设备(如Flash、SD卡)、显示屏、传感器、音频解码器等。

4、硬件连接方式

①基本的连接方式(四线)

当一个SPI主机和多个从机进行通信时,会通过片选线 选择和哪一个从机进行通信。

② 三线连接

当单主机单从机进行SPI通信时不需要片选线选择和哪一个从机进行通信,所以在进行连接时只需SCK\MOSI\MISO三根线就可以完成通信。

5、时序分析

spi主从机通信需要通过两个时钟特性进行约定:

1、时钟极性(CPOL):空闲状态下时钟线电平的高低

        时钟极性为1:空闲状态下时钟线保持高电平;

        时钟极性为0:空闲状态下时钟线保持低电平。

2、时钟相位(CPHA):通信进行数据采样(数据读取)在时钟前沿还是时钟后沿

        时钟相位1:在时钟后沿进行数据采样,在时钟前沿进行数据输出;

        时钟相位1:在时钟前沿进行数据采样,在时钟后沿进行数据输出。

五、UART

1、概述

uart一种异步串行通信协议,用于在两个设备之间传输数据。它将数据按位发送,不需要时钟信号进行同步。在uart通信中,数据通过两根线路传输:发送线(TX)和接收线(RX)。它主要用于简单的点对点通信。

2、工作原理 

数据被拆分成多个数据位,并通过串行方式(一个接一个地)发送,接收方根据预定的波特率解析数据。

3、应用场景

常见于调试接口、串口通信、GPS模块、蓝牙、WIFI模块等。

4、数据帧格式

异步通信,双方各自使用自己的时钟信号进行数据传输,由于双方的始终不一样,就算提前约定好了波特率,随着传输数据量的增加,双方数据收发就会累计一定的误差,所以为了避免这个误差,我们需要对传输收发的数据进行约定,规范好收发的格式来消除误差。

 

空闲位:当不进行数据收发时,数据线处于高电平状态

起始位:1bit低电平,一帧数据传输的开始

数据位:5-8bit数据位,传输的数据

校验位:1bit,可有可无

        奇校验:一帧数据传输后保证数据位和校验位1的个数是一个奇数;

        偶校验:一帧数据传输后保证数据位和校验位1的个数是一个偶数。

停止位:1-2bit高电平,一帧数据结束的标志

六、三种总线对比

1、总线

总线:连接多个部件的信息传输线,是各部件共享的传输介质

2、总线类型 

片内总线:连接处理器内核和外设的总线,在芯片内部。

片外总线:连接芯片和其他芯片或者模块的总线。

 

3、模块之间进行总线通信的方式

①串行通信和并行同行

串行通信:

指的是同一时刻只能收或发一个bit位信息,因此只用一根信号线即可。

优点:占用的引脚资源少。

缺点:速度相对较慢。

并行通信

指的是同一时刻可以收或发多个bit位信息,因此需要多跟信号线才行。

优点:速度快。

缺点:占用引脚资源多。

②单工、半双工、全双工通信

单工:

要么收,要么发,只能做接收设备或发送设备。

半双工:

可以收,可以发,但不能同时收发,通信双方只有同一个信道。

全双工:

可以在同一时刻接收和发送。

③同步通信与异步通信

1、同步通信:

同步通信是一种在数据传输过程中,发送方和接收方使用同一个时钟源或通过特定的同步机制来保证双方时钟严格同步的通信方式。在这种方式下,发送方和接收方的时钟信号频率和相位保持一致,从而使数据能够在准确的时间被发送和接收。

优点:

传输效率高,数据传输速率快。

缺点:

硬件成本高,对时钟精度要求高。

2、异步通信:

异步通信是一种发送方和接收方不需要使用同一个时钟源,而是通过在数据中添加起始位、停止位等控制信息来实现数据传输同步的通信方式。

优点:

硬件简单,灵活性高。

缺点:

传输效率低,数据传输效率慢。

4、总结对比

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.gitignore 文件中添加忽略 .pdb 文件

我在项目的根目录下创建.gitignore文件。打开.gitignore文件并添加忽略.pdb文件的规则。如下: 已经在 .gitignore 文件中添加了忽略 .pdb 文件的规则,但是提交到 Git 仓库时仍然看到了 .pdb 文件,这通常意味着 .pdb 文件在 .gitignore 文件被…

半导体晶圆精控:ethercat转profient网关数据提升制造精度

数据采集系统通过网关连接离子注入机,精细控制半导体晶圆制造过程中的关键参数。 在半导体制造中,晶圆制造设备的精密控制是决定产品性能的关键因素。某半导体工厂采用耐达讯Profinet转EtherCAT协议网关NY-PN-ECATM,将其数据采集系统与离子注…

VSCode+PlatformIO报错 找不到头文件

如图示,找不到目标头文件 demo工程运行正常,考虑在src文件夹内开辟自己的代码,添加后没有找到 找了些资料,大概记录如下: 1、c_cpp_properties.json 内记录 头文件配置 .vscode 中,此文件是自动生成的&a…

ARM 处理器平台 eMMC Flash 存储磨损测试示例

By Toradex秦海 1). 简介 目前工业嵌入式 ARM 平台最常用的存储器件就是 eMMC Nand Flash 存储,而由于工业设备一般生命周期都比较长,eMMC 存储器件的磨损寿命对于整个设备来说至关重要,因此本文就基于 NXP i.MX8M Mini ARM 处理器平台演示…

uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)

项目有个需求,需要生成app和小程序,app支持离线数据库,如果当前没有网络提醒用户开启离线模式,所以就随便搞了下,具体的思路就是: 一个接口和多个实现类(类似后端的模板设计模式)&am…

AI探索笔记:浅谈人工智能算法分类

人工智能算法分类 这是一张经典的图片,基本概况了人工智能算法的现状。这张图片通过三个同心圆展示了人工智能、机器学习和深度学习之间的包含关系,其中人工智能是最广泛的范畴,机器学习是其子集,专注于数据驱动的算法改进&#…

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块(PCB) 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序,而程序是存放在磁盘的,cpu要想执行程序的指…

怎么修改node_modules里的文件,怎么使用patch-package修改node_modules的文件,怎么修改第三方库原文件。

在开发中会遇到需要node_modules里第三方库有bug,然后需要修改node_modules文件的情况 使用patch-package包可以修改node_modules里的文件 patch-package npm 官网:patch-package - npm 安装 npm i patch-package 修改文件后 npx patch-package s…

seacmsv9报错注入

1、seacms的介绍 ​ seacms中文名&#xff1a;海洋影视管理系统。是一个采用了php5mysql架构的影视网站框架&#xff0c;因此&#xff0c;如果该框架有漏洞&#xff0c;那使用了该框架的各个网站都会有相同问题。 2、源码的分析 漏洞的部分源码如下&#xff1a; <?php …

Hbase客户端API——语句大全

目录 创建表&#xff1a; 插入数据&#xff1a; 删除数据&#xff1a; 修改数据&#xff1a; 查询数据&#xff1a;Get 查询数据&#xff1a;Scan 查询数据&#xff1a;过滤查询 创建表&#xff1a; 检验&#xff1a; 插入数据&#xff1a; 验证 一次多条数据插入 验证&…

IP------PPP协议

这只是IP的其中一块内容PPP&#xff0c;IP还有更多内容可以查看IP专栏&#xff0c;前一章内容为网络类型&#xff0c;可通过以下路径查看IP---网络类型-CSDN博客&#xff0c;欢迎指正 3.PPP协议 1.PPP优点 网络类型&#xff1a;p2p PPP---点到点协议 兼容性会更强凡是接口或…

Springboot基础篇(3):Bean管理

前言&#xff1a;Spring 通过扫描类路径&#xff08;Classpath&#xff09;来查找带有特定注解&#xff08;如 Component、Service、Repository 等&#xff09;的类&#xff0c;并将它们注册为 Spring 容器中的 Bean。 1 Bean扫描 Bean 扫描是 Spring 框架的核心功能之一&…

Metal 学习笔记二:3D模型

是什么让一个好游戏更好玩&#xff1f;漂亮的图像&#xff01;就像《神界&#xff1a;原罪2》&#xff0c;《暗黑破坏神3》以及《巫师3》等大作一样&#xff0c;需要一个强大的程序团队以及3D美术团队强强合作。你在屏幕中看到正是3D模型使用自定义渲染绘制的结果。就像上一章你…

数据结构与算法-图论-最短路-拓展运用

选择最佳路线 分析&#xff1a; 这是一道图论中的最短路径问题&#xff0c;目标是在给定的公交网络中&#xff0c;找到从琪琪家附近的车站出发&#xff0c;到她朋友家附近车站&#xff08;编号为 s &#xff09;的最短时间。以下是对该问题的详细分析&#xff1a; 问题关键信息…

【江科协-STM32】5. 输出比较

1. 输出比较简介 OC(Output Compare)输出比较。 输出比较可以通过CNT&#xff08;CNT计数器&#xff09;与CCR寄存器值的关系&#xff0c;来对输出电平进行置1、置0或翻转的操作&#xff0c;用于输出一定频率和占空比的PWM波形。 :::tip CNT计数器是正向计数器。它只能正向累…

C++ Primer 再探迭代器

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

影响板材的热导率有哪些因素?

板材热导率受多种因素左右&#xff0c;可划分为内部材料特性与外部环境条件两大方面 内部材料特性 化学构成&#xff1a;不同化学元素及化合物组合形成的板材&#xff0c;热导率表现大相径庭&#xff1b;金属板材&#xff0c;像铜与铝&#xff0c;热导率优异&#xff0c;这是…

给字符串加密解密

加密规则&#xff1a;输入1a2b3c 输出 abbccc 解密&#xff1a;输入abbccc 输出 1a2b3c 代码&#xff1a; using System;namespace 加密解密 {class Program{static void Main(string[] args){Encryption("4b2a8p");Decryption("ppppppoovvv");Console.…

20250226-代码笔记05-class CVRP_Decoder

文章目录 前言一、class CVRP_Decoder(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRP_Decoder(nn.Module):set_kv(self, encoded_nodes)函数功能函数代码 三、class CVRP_Decoder(nn.Module):set_q1(self, encoded_q1)函数功能函数代码 四、class…

洛谷 P3628/SPOJ 15648 APIO2010 特别行动队 Commando

题意 你有一支由 n n n 名预备役士兵组成的部队&#xff0c;士兵从 1 1 1 到 n n n 编号&#xff0c;你要将他们拆分成若干特别行动队调入战场。出于默契的考虑&#xff0c;同一支特别行动队中队员的编号应该连续&#xff0c;即为形如 i , i 1 , ⋯ , i k i, i 1, \cdo…