串口通信以及USART和UART以及IIC和SPI-学习笔记

串行通讯与并行通讯

  1. 串行通讯是指设备之间通过少量数据信号线(一般8根以下)、地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,串行通讯同一时刻只能传输一个数据位的数据,但通讯距离比并行通讯远、抗干扰能力比并行通讯强,成本较低
  2. 并行通讯指使用8、16、32及64根或更多的数据线进行传输的通讯方式。并行通讯可传输多个数据位的数据,传输速率相比于串行通讯较高

全双工、半双工及单工通讯

  1. 全双工就是同一时刻两个设备间可同时收发数据;半双工同一时刻不能同时收发数据但设备间可进行数据收发;单工表示随时但只能进行一个方向的通讯,设备向另一个设备发送和接收都是固定的。

同步通讯和异步通讯

  1. 根据是否使用到时钟信号简单可区分;

USART

  1. 具体名称:通用同步/异步串行接收/发送器;
  2. 特点:全双工通用同步/异步串行收发模块;
  3. 注意:它只是一种通信方式;不具体到串口名称;

UART

  1. 具体名称:通用异步串行接收/发送器;
  2. 特点:全双工通用异步串行收发模块;
  3. 串口通信的接收和发送方无统一的时钟信号,故也可算为异步通信;
  4. 串口通信使用电平信号传输:电平信号是用信号线电平减去参考线电平得到的电压差,此电压差决定了传输值为0或1(逻辑值);
  5. RS232电平和TTL电平以及RS485电平:RS232电平中-15-3V表示值为1,+3V+15V表示0;而TTL电平中+2.4V+5V表示1,0V0.5V表示0;RS485中+2V+6V表示逻辑1,-6V-2V表示逻辑0;注意:它们都是一种逻辑电平的表示方式,算是一个电平标准。
  6. 串口通信为了使双方正常通信,所以需要事先约定号通信格式对应参数值,比如波特率(指串口通信速率,9600波特率表示每秒传输一个二进制位需要1/9600=104us),需要注意通信时双方必须设置相同的波特率才可通信
  7. 其他参数:起始位:表示发送方发送一个通信单元;数据位:是一个通信单元中发送的有效信息位,一般可选6、7、8、9,一般为8位;校验位、停止位(一般可设1、1.5、2);
  8. 232通信主要由RX、TX和GND三根线组成,设备间发送接接收,接收连发送,地线接地线,为了保证数据传输增加至九个引脚,也叫DB9;
  9. 485通信时主要为了解决232通信距离问题,它以一种差分信号进行传输,只需要两根线,A和B作为数据信号传输。
  10. 422就是把232的RX分为RX+、RX-,TX分为TX+、TX-,确保可以同时发送和接收,传输距离也比较长。(RS232接口通讯距离小于等于15m,只能连接一个设备,而RS422和485接口通讯距离最大可达1200m并且可连接多台设备。)
  11. 参考地址

SPI和IIC总线

  1. SPI总线

SPI总线是一种全双工的串行通信总线,由一个主设备(Master)和一个或多个从设备(Slave)组成。SPI总线通常由四根线构成:
SCLK(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
MOSI(Master Out Slave In):主设备输出从设备输入的数据线。
MISO(Master In Slave Out):主设备输入从设备输出的数据线。
SS(Slave Select):从设备选择线,用于选择从设备进行通信。
SPI总线的工作方式如下:
主设备通过SS线选择目标从设备。
主设备发送数据到MOSI线。
主设备从MISO线读取从设备的响应数据。
在每个时钟周期中,主设备和从设备都会在各自的数据线上同时发送和接收数据。
SPI总线具有以下特点:
高速:SPI总线通常可以达到很高的数据传输速率,适用于对速度要求较高的应用。
灵活性:SPI总线可以连接多个从设备,并且可以通过SS线选择目标设备。
简单性:SPI总线协议相对简单,易于实现和调试。
SPI总线广泛应用于许多领域,如存储器芯片、传感器、显示屏等。例如,存储器芯片可以使用SPI总线来读取和写入数据。
20. I2C总线

I2C总线是一种双线制的串行通信总线,由一个或多个主设备和一个或多个从设备组成。I2C总线通常由两根线构成:
SCL(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
SDA(Serial Data):数据线,用于传输数据。
I2C总线的工作方式如下:
主设备通过SCL线产生时钟信号驱动通信。
主设备通过SDA线发送起始位(Start Bit)和从设备地址,并指定读取或写入操作。
主设备或从设备通过SDA线传输数据,每个字节都会由接收方发送一个应答位(ACK)作为确认。
通信结束后,主设备发送停止位(Stop Bit)结束通信。
I2C总线具有以下特点:
多设备连接:I2C总线支持多个主设备和从设备的连接,通过地址选择实现通信。
低速:相对于SPI总线,I2C总线的数据传输速率较低。
简单性:I2C总线协议较为简单,易于实现和调试。
I2C总线广泛应用于许多领域,如存储器芯片、传感器、温度监测器、电源管理芯片等。例如,传感器可以使用I2C总线来传输测量数据,而电源管理芯片可以使用I2C总线来控制和监测电源的状态。
注意:由于SPI总线采用全双工模式,数据可以同时在主设备和从设备之间传输,因此SPI总线通常具有较高的数据传输速率。而I2C总线采用半双工模式,数据只能在一个方向上传输,因此其数据传输速率相对较低。
参考地址

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

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

相关文章

window快捷键:window + v 打开剪切板历史记录 / 非常实用

一、剪切板历史记录功能介绍 1.1、window v 打开剪切板历史记录 / 文字、图片都可记录 1.2、window v 最近使用 1.3、window v 表情符号 1.4、window v GIF 1.5、window v 颜文字 1.6、window v 符号 二、欢迎交流指正

寻找专业在线微信投票和点赞服务团队攻略

在当今的社交网络时代,微信投票和点赞活动日益频繁,无论是企业评选、才艺比赛还是个人荣誉的角逐,都可能需要一定的投票和点赞支持。然而,要找到领先、高效、专业的在线微信投票和点赞服务团队并非易事。以下是一些关键步骤和注意…

115页PPT华为管理变革:制度创新与文化塑造的核心实践

集成供应链(ISC)体系 集成供应链(ISC)体系是英文Integrated Supply Chain的缩写,是一种先进的管理思想,它指的是由相互间提供原材料、零部件、产品和服务的供应商、合作商、制造商、分销商、零售商、顾客等…

HTML5和CSS3常见面试题

😊HTML5和CSS3常见面试题 1.HTML5有哪些新特性?2.你是如何理解语义化标签的?3.CSS3有哪些新特性?4.rem和em的区别是什么?5.如何实现自适应布局?6.清除浮动的方法有哪些?7.伪元素清除的原理是什么…

17. 从尾到头打印链表

文章目录 QuestionIdeasCode Question 输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。 返回的结果用数组存储。 数据范围0≤链表长度 ≤1000。 样例 输入:[2, 3, 5] 返回:[5, 3, 2] Ideas 直接遍历链表,然后倒序…

Games101 05~06 - Raterization 光栅化

1.Viewport Transformation视口变换: 1.1Canonical Cube 之前我们通过MVP矩阵把物体坐标变换到正方体中(每个顶点的x,y,z坐标都应该在-1.0到1.0之间)也被称为裁剪空间clip space,接下来我们需要将该空间映…

为Meta Spark准备3D模型

有许多工具可以帮助你为 Meta Spark Studio 创建 3D 对象,包括 Cinema4D、Blender 和 3ds Max。你还可以使用 Meta Spark Toolkit 优化 Blender 对象。 在本指南中,我们将介绍正确的设置,以便你可以成功地为 Meta Spark Studio 准备对象&…

shodan7,shodan参数使用,常用端口,Google语法

参数使用 alert shodan alert -h(查看帮助文档 这个就是怎么去配置ip监控)我们能在web页面上面去做,而且更加方便,所以就不多讲了 info shodan info(查看你查询的扫描的一些次数每个账户都是每个月有限制次数的)domain shodan domain(查询域名信息…

MATLAB/Simulink学习|在Simulink中调用C语言-04使用C Function 实现PI运算(使用模块自定义代码-仿真自定义代码)

在上一篇博客中,介绍了如何使用C Function 实现PI运算,但是在模块内编辑C代码,而不能直接调用已经写好了的C代码。 在Simulink中使用C Function调用自定义代码有两种方法,本篇博客介绍其中一种方法。 添加头文件和源文件 在实际…

博图V19的DB块,批量导入组态王

最近在使用组态王做一个厂区的DCS项目,plc选用西门子1500系列。一共用了3个1500,5个io站点。整个项目下来,点位大约有5000多个。把这5000多个点位,一个一个导入到组态王,无疑是一个非常非常非常难受的工作,…

✨云桥计划✨

✨云桥计划✨ 希望通过本计划,可以达成网络,以此为桥。 现阶段开放收集到的公开链接~ 您可以通过分享扩大的网络~ 数据库下载(不定时更新) SHA1: - Records: - Update: 暂无 机器人接入 相关工具 使用 数据提交接口 开发 appi…

Kafka相关API开发

(一)引入依赖 用API直接去操作kafka(读写数据)在实际开发中用的并不多,学习它主要还是为了加深对Kafka功能的理解。kafka的读写操作,实际开发中,是通过各类更上层的组件去实现。而这些组件在读写kafka数据时,用的当然是kafka的jav…

微信小程序生成海报 / 两张图片合并生成一张

一张背景图,一个二维码,生成一张全屏海报,二维码位于右下角(二维码位置可以调整) 方法思路:使用微信小程序的canvas组件 1、获取canvas组件定义一个canvas上下文 2、获取设备信息,将设备宽高…

linux离线安装Ollama并完成大模型配置(无网络)

这篇文章主要分享两方面内容: 1)在纯内网环境下如何部署ollama 2)在纯内网环境下如何配置大模型 话不多说直接开始。 ①离线部署ollama 一、通过浏览器访问ollama官方安装脚本,获取脚本内容。复制里面的内容。 在Linux中执行…

Centos安装配置Jenkins

下载安装 注意:推荐的LTS版本对部分插件不适配,直接用最新的版本,jenkins还需要用到git和maven,服务器上已经安装,可查看参考文档[1]、[2],本次不再演示 访问开始使用 Jenkins 下载jenkins 上传至服务器…

【java数据结构】二叉树

【java数据结构】二叉树 一、 认识二叉树1.1 二叉树的概念1.2 二叉树的特性:1.3 两种特殊的二叉树:1.4 二叉树的性质:1.5 二叉树的存储: 二、 实现二叉树2.1 二叉树节点的定义:2.2 二叉树的基本操作:获取树…

智源推出小时级超长视频理解大模型Video-XL

北京智源人工智能研究院联合上海交通大学、中国人民大学、北京大学和北京邮电大学等高校推出了一款名为Video-XL的超长视频理解大模型。这款模型是多模态大模型核心能力的重要展示,也是向通用人工智能(AGI)迈进的关键步骤。与现有多模态大模型…

LINUX下使用SQLite查看.db数据库文件

目录 1. 安装 SQLite 对于 Debian/Ubuntu 系统: 2.安装完成后操作 打开 SQLite 命令行工具并连接到数据库文件 查看表结构 查询表中的数据 执行其他 SQL 操作 3. 退出 SQLite 命令行工具 4. 使用图形化工具(可选) 总结 在 Linux 环…

《链表篇》---两两交换链表中的节点(中等)

题目传送门 1.定义一个虚拟节点链接链表 2.定义一个当前节点指向虚拟节点 3.在当前节点的下一个节点和下下一个节点都不为null的情况下。 定义 node1和node2。保存当前节点后面两个节点的地址。cur.next node2;node1.next node2.next;node2.next node1;cur node1; 4.返回re…

Oracle视频基础1.3.4练习

1.3.4 检查数据库实例启动情况,进程以及进程间通信 ps -ef | grep oracle ipcs启动数据库实例, 用缺省spfilewilson ls -l env | grep ORACLE sqlplus /nolog conn / as sysdba startup shutdown immediate exit clear新创建pfile和spfile指定pfile数…