串口通讯详解

news2024/10/6 22:34:17

目录

一、串口通讯简介:

二、串口通信基本原理:

三、通信方式

四、串口通信特点


一、串口通讯简介:

(1)串口通讯是指通过串口进行数据传输的一种通讯方式,通过数据信号线、地线等,按位进行传输数据的一种通讯方式;

        串口通讯可以实现两台计算机或者计算机与设备之间的数据传输。

(1)串口通信早期就定义了一套标准的串口规约,DB9 (9个引脚)接口就是标准接口,此外还有不常见的DB25 (25个引脚)。

(2)DB9接口中有9根通信线,其中3根线(GND、TXD、RXD)很重要必不可少;

二、串口通信基本原理:

1、串口通信连线:任何通讯都是要有信息传输载体,有线或无线,串口通信是通过串口线进行有线通信;

        串口通讯是指在通信的两端,通过串行口每次传输一个字节的数据,通过一定的协议进行数据的传输和接收。

        串口通讯的原理是利用串行口的发送和接收线路,将需要传输的数据逐位传输到接收端,然后接收端再将这些数据组合成完整的信息。

2、串口通信时序:串口通信数据格式

(1)串口通信时,收发是一个周期一个周期进行的,每个周期传输n个二进制位。

(2)一个周期叫做一个通信单元,

(3)由起始位(1bit)+ 数据位(8bit)+ 奇偶校验位(1bit)+ 停止位(1bit)组成;

(4)串口通信:异步通讯,双方必须事先约定好通信参数,一般有:比特率、数据位、校验位、停止位。

波特率:简而言之,每分钟传输二进制的位数,是衡量资料传送速率的指标;

起始位:一般“0”信号,表示传输字符开始;

由通信线上的电平变化来反映的。对于串口通信而言总线没有数据传输空闲时维持高电平,一旦产生一个下降沿变成低电平则表示起始信号。

数据位:一个通信单元发送的有效信息位,(可选6、7、8、9,一般是8位,因为数据以字节为单位的);

奇偶校验位:“1”的个数,其实不是很准确,50%误差;

停止位:表示本通信单元结束的标志,

三、通信方式

(1)单工模式(Simplex CommunicaTIon)的数据传输是单向的。

通信双方中,一方固定为发送端,一方则固定为接收端。信息只能沿一个方向传输,使用一根传输线。

(2)半双工模式(Half Duplex)通信使用同一根传输线,既可以发送数据又可以接收数据,但不能同时进行发送和接收。

数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工模式既可以使用一条数据线,也可以使用两条数据线。半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。

因为有切换,所以会产生时间延迟,信息传输效率低些。

(3)全双工模式(Full Duplex)通信允许数据同时在两个方向上传输。

因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。在全双工模式中,每一端都有发送器和接收器,有两条传输线,信息传输效率高。

结论:显然,在其它参数都一样的情况下,全双工比半双工传输速度要快,效率要高。

四、串口通信特点

(1)串口通信单向只有一个数据线实现通信,同时只能传输1个二进制位数据,所以是串行通信;

(2)串口通信的发送方和接收方之间没有统一的时钟信号,所以它是异步通信方式;

(3)串口通信即可以实现全双工通信,也可以实现单工通信;

(4)串口通信出现时间较早、速率较低,并且采样电平信号传输,抗干扰能力不强,传输的距离较近;

五、串口通信的优点:

  1. 串口通讯的传输速度相对较慢,但是传输距离较长,可以达到几百米。
  2. 串口通讯的接口比较简单,可以方便地接入各种设备。
  3. 串口通讯的数据传输稳定可靠,不容易出现数据丢失等问题。
  4. 串口通讯的成本较低,适合在一些低成本的应用中使用。

六、串口通信的缺点:

  1. 串口通讯的传输速度相对较慢,难以满足一些高速数据传输的需求。
  2. 串口通讯的传输距离受到电缆长度、传输速度等因素的限制。
  3. 串口通讯的数据传输方式是异步传输,需要进行数据帧的同步和校验,增加了传输的复杂性。

七、串口通讯的应用

串口通讯广泛应用于工业控制、自动化设备、仪器仪表、计算机外围设备等领域。常见的应用包括串口打印机、串口扫描仪、串口读卡器、串口通讯模块等。

总之,串口通讯是一种传输距离远、成本低、稳定可靠的通讯方式,适用于一些低速数据传输的场合。

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

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

相关文章

【Python】实战:生成无关联单选问卷 csv《社会参与评估表》

目录 一、适用场景 二、业务需求 三、Python 文件 (1)创建文件 (2)代码示例 四、csv 文件 一、适用场景 实战场景: 问卷全部为单选题问卷问题全部为必填问题之间无关联关系每个问题的答案分数不同根据问卷全…

论文阅读:DLME = Deep Local-flatness Manifold Embedding

Author: Zelin Zang, Siyuan Li, Di Wu and Stan Z Li. 1-4: Westlake University 摘要 流形学习(ML, Manifold learning)旨在从高维数据中识别低维结构和嵌入,然而我们发现现有工作在采样不足的现实数据集上效果不佳。一般的ML方法对数据结…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器,map,set是关联式容器。序列式容器的特点就是数据线性存放,而关联式容器的数据并不是线性,数据之间有很强的关系。 它们的底层是平衡…

P1038 [NOIP2003 提高组] 神经网络

题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向,兰兰同学在自学了一本神经网络的…

用PyCharm和Anaconda搭建强化学习环境

一些碎语:因为我之前没学习过python,所以搭建这个环境的周期差不多一周,最终搭好了这个又爱又恨的环境(这个成语用的多少有点文化沙漠了),这里简单梳理一下搭建环境的完整步骤。 首先下载Anaconda 下载地址…

Java线程间通信方式(3)

前文了解了线程通信方式中的CountDownLatch, Condition,ReentrantLock以及CyclicBarrier,接下来我们继续了解其他的线程间通信方式。 Phaser Phaser是JDK1.7中引入的一种功能上和CycliBarrier和CountDownLatch相似的同步工具,相…

mapbox-gl 移动端(H5)位置共享交互

文章目录 前言逆地理编码:获取周边地点地理编码:查询位置大头针选位位置卡片 前言 分享最近写的一个小demo,功能类似微信小程序端的大头针位置共享功能,需要实现的主要功能包括位置查询、周边地点检索、位置定位等,数…

BUUCTF jarvisoj_level0

小白垃圾做题笔记而已,不建议阅读。。。 这道题感觉主要就是64位程序ebp8 题目中给出了shellcode 我们直接将返回地址覆盖就好。 在main函数中调用了vulnerable_function()函数。 vulnerable函数是一个漏洞函数:(存在缓溢出),我们只需要将…

html-audio标签样式重写思路

搭配slider 组件 ,利用原生audio的属性和方法重写样式 写个样式.监听url变化 初始化绑定播放, 拖动进度条,拖动音量, 静音按钮等事件 const audioRef ref(null) // 绑定audio标签 const playProcess ref(0) // 进度条绑定的值 const volume ref(1) // 音量绑定的值 const …

C++ STL之vector容器

目录 一、vector容器的介绍 二、vector容器的使用 1.vector的构造函数 2.vector的赋值操作 3.vector的容量与大小 4.vector的插入和删除 5.vector的数据存取 6.vector的互换容器 7.算法模块在vector的应用 ①find算法(std) ②sort算法(std) 一、vector容器的介绍 引…

07 - 进程创建大盘点

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. 进程创建回顾2. 再论进程创建2.1 思考2.2 vfork()深度分析2.3 vfork()要点分析2.4 fork()的现代优化2.5 编程实验:fork() &…

【安卓源码】Binder机制2 -- addService 流程

0、binder 进程间通信原理 一次完整的 Binder IPC 通信过程通常是这样: 首先 Binder 驱动在内核空间创建一个数据接收缓存区; 接着在内核空间开辟一块内核缓存区,建立内核缓存区和内核中数据接收缓存区之间的映射关系,以及内核中…

PHP入门【1】环境搭建

目录 一,安装appserv组合包 二,运行第一个php程序 一,安装appserv组合包 组合包:将apache,mysql,php等服务器软件和工具安装配置完成后打包处理 组合包大大提高了我们的效率,不需要为配置环境…

Linux服务器出现503 服务不可用错误怎么办?

​  HTTP 503 服务不可用错误代码表示网站暂时不可用。无论您是网站访问者还是管理员,503 页面都很麻烦。尽管该错误表明存在服务器端问题,但对于访问者和网络管理员来说,有一些可能的解决方案。本文将解释Linux服务器出现503 服务不可用错…

PowerShell Studio 2023 Crack

PowerShell Studio 2023 Crack SAPIEN Script Packager为MSI Builder添加了ARM64平台支持。 增加了对Microsoft PowerShell 7.2.11和7.3.4的支持。 WiX工具集已更新到3.14。 PowerShell Studio 2023 Crack是可用的功能最强大、功能最完整的PowerShell集成脚本环境(ISE)之一。更…

通达信VCP形态选股公式,憋了好几天才写出来

VCP形态的英文”Volatility Contraction Pattern”的缩写,意思是“波动收缩形态”。VCP形态是全美交易冠军马克米勒维尼的核心交易模式之一,在其著作《股票魔法师》中有详细介绍。 马克米勒维尼把VCP形态比喻为湿毛巾,拧过一次后仍含水&…

动态链接库的链接和运行

本文对动态链接库的链接和运行进行一个总结,为什么要分开说呢?因为链接通过生成可执行文件并不代表运行时能找到依赖的动态库。这与静态库是不一样的,因为静态库在编译完成后会库会编译到可执行程序中,但是动态链接库则不然&#…

最新研究:可审计的具有拜占庭鲁棒的联邦学习方案

本人新论文,可免费下载:https://download.csdn.net/download/liangyihuai/87727720 Y. Liang, Y. Li and B. -S. Shin, “Auditable Federated Learning With Byzantine Robustness,” in IEEE Transactions on Computational Social Systems, doi: 10.…

【Unity3D日常开发】Unity3D中实现UI擦除效果、刮刮卡功能

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 使用Unity3D实现UI的擦拭效果、刮刮卡功能的效果实现方式比较多…

Python基于Pytorch Transformer实现对iris鸢尾花的分类预测,分别使用CPU和GPU训练

1、鸢尾花数据iris.csv iris数据集是机器学习中一个经典的数据集,由英国统计学家Ronald Fisher在1936年收集整理而成。该数据集包含了3种不同品种的鸢尾花(Iris Setosa,Iris Versicolour,Iris Virginica)各50个样本&am…