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

学习串行通信

本文来源: 

[8-1] 串口通信_哔哩哔哩_bilibili

智谱清言

------------ 

串口(Serial Port):

串口是一种应用非常广泛的通讯接口,串口成本低,容易使用,通信线路简单,可实现两个设备的互相通信。

串口是计算机或其他设备上用于串行通信的接口。它允许数据一位接一位地顺序传输,与并行通信不同,后者同时传输多位数据。串口通常用于连接各种外部设备,如调制解调器、条形码扫描器、传感器、工业设备等。

串口的一些特点包括:

  • 数据传输速率:串口的数据传输速率可以从几十到几兆比特每秒不等。
  • 接口标准:最常见的串口标准是RS-232,但还有其他如RS-485、RS-422等。
  • 信号线:RS-232串口通常包括接收线(RX)、发送线(TX)、地线(GND)以及控制信号线(如RTS、CTS、DTR、DSR等)

-------------

单片机的串口可以使单片机与单片机,单片机与电脑,单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。

---------------

串行通信(Serial Communication):

串行通信是一种数据传输方式,其中数据位按顺序一个接一个地发送。这种通信方式只需要一对传输线(在某些情况下可能需要更多,如全双工通信),因此比并行通信更简单、成本更低,尤其是在长距离通信中。

串行通信的关键特点包括:

  • 位序:数据按照一定的顺序发送,通常是先发送最低有效位(LSB)或最高有效位(MSB)
  • 同步与异步:串行通信可以是同步的,也可以是异步的。同步通信需要一个时钟信号来同步发送和接收设备;而异步通信则不需要时钟信号,它使用起始位和停止位来界定每个数据帧。
  • 错误检测:串行通信通常包括错误检测机制,如奇偶校验位,来确保数据的准确性。

串行通信的常见应用包括:

  • 调制解调器通信:通过电话线进行数据传输。
  • 工业控制:连接传感器、执行器和其他工业设备。
  • 串行设备接口:如USB到串口转换器,用于连接旧式串口设备到现代计算机。

---------------

51单片机内部自带UART(Universal Asynchronous Receiver Transmitter)(通用异步收发器),可实现单片机的串行通信。

----------------

单片机与电脑通信:

电脑端使用usb转串口。

DB9接口

USB接口通过USB转串口模块与串口进行通信。

----------------

USB接口--->串口  

TXD:transmit exchange data 发送交换数据

------- 

在电子电路中,VCC和GND是两个非常重要的术语,它们分别代表不同的概念:

  1. VCC

    • 定义:VCC通常表示电路的供电电压。它来自于“Collector Voltage”或“Circuit Voltage”的缩写。在双极型晶体管(如NPN晶体管)的电路中,VCC通常指的是集电极电源电压
    • 应用:在数字电路和模拟电路中,VCC可以理解为电路中的+5V、+12V及其他正电压。它主要表示Bipolar电路的电源,其中“C”代表Collector(集电极)。在集成电路早期,通常只有NPN管,后来才集成进去PNP管。
  2. GND

    • 定义:GND代表电路中的地线或0线,是电路的参考点。它来源于“Ground”的缩写。
    • 应用:GND在电路图中和电路板上表示地线或0线,是电路中所有电压测量的参考点。对于电源来说,GND通常是电源的负极。但这个“地”并不总是真正意义上的地,它有时需要与大地连接,有时则不需要,这取决于具体的应用情况

在电路设计中,VCC和GND的正确使用对于电路的性能和功能至关重要。VCC通常连接到外部电源电路,为电路提供所需的正电压,而GND则为电路提供一个稳定的参考点,确保电路中的电压和信号正确地传输和处理。

 ----------

电平标准不一致,机器容易烧坏,需要添加电平转换芯片。

台式机的DB9接口与单片机的DB9接口的电平是不一样的。如果要进行通信,需要电平转换芯片。

--------------

如果说设备1和设备2都是独立供电,那么可以不接VCC

但如果设备1独立供电,设备2不可独立供电,则需要接VCC,让设备1为设备2供电。

--------------

-----------

TTL电路,全称为晶体管-晶体管逻辑电路(Transistor-Transistor Logic),是一种数字集成电路。它采用双极型工艺制造,以其高速度和高功耗(相对于CMOS)以及品种多样而著称。TTL电路的核心元件是双极晶体管,这些晶体管被用来执行逻辑功能,提供开关功能。TTL电路的特点之一是,当门的输入未连接时,默认为逻辑高电平(1)。

TTL电路的发展经历了多个阶段,从六十年代的第一代产品开始,包括了SN54/74系列。这些系列根据工作温度的不同而有所区别,例如54系列的工作温度为-55~125摄氏度,而74系列为0~75摄氏度。随后的发展中,出现了低功耗系列(lttl)、高速系列(HTTL)、肖特基箝位系列(STTL)和低功耗肖特基系列(LSTTL)等。由于LSTTL和ALSTTL的电路延时功耗积较小,STTL和ASTTL速度很快,因此获得了广泛的应用。

TTL电路的分类非常多样,大约有400多个品种,主要包括门电路、译码器/驱动器、触发器、计数器、移位寄存器、单稳、双稳电路和多谐振荡器等。此外,还有加法器、乘法器、奇偶校验器、码制转换器、线驱动器/线接收器、多路开关和存储器等。

在TTL逻辑电平方面,大多数系统依赖于3.3V或5V TTL电平。TTL电路的阈值电压电平是关键参数,例如标准5V TTL电平下的最小输出高电压(VOH)为2.7V,最小输入高电压(VIH)为2V,最大输出低电压(VOL)为0.4V,最大输入低电压(VIL)为0.8V。这些参数确保了TTL电路的可靠性和抗干扰能力

总的来说,TTL电路在数字电子技术中占有重要地位,广泛应用于各种逻辑功能和电路设计之中

---------------

DB9接口

DB9是一种物理连接器,它具有9个引脚(pins),通常用于串行通信设备。DB9接口是DE-9的俗称,其中“D”代表注册的插头(D-subminiature),而“9”代表接口的引脚数量。DB9接口广泛应用于串行通信,如RS-232、RS-422和RS-485等协议。

---------------

两线压差:两根线的电压差值

RS485是一种串行通信协议,它采用差分信号传输方式,具有抗干扰能力强、传输距离远、速率高等特点,广泛应用于工业控制、网络通信等领域。以下是RS485差分传输的一些基本特点:

  1. 差分信号:RS485使用两根信号线,分别称为A线和B线。差分信号传输是通过比较A线和B线之间的电压差来实现的。这种传输方式可以有效抑制共模干扰,提高信号传输的可靠性。

  2. 半双工通信:RS485支持半双工通信,即数据可以在同一对线上双向传输,但同一时间只能单向传输。通过控制发送和接收的切换,实现数据的双向传输。

  3. 多点通信:RS485网络支持多点通信,即多个设备可以连接到同一条总线上。通过地址编码或控制逻辑,实现设备之间的数据交换。

  4. 传输速率:RS485的传输速率可达10Mbps,但在实际应用中,受传输距离和通信速率的限制,一般使用的速率在100Kbps到1Mbps之间。

  5. 传输距离:RS485的传输距离可达1200米(速率低于100Kbps时),在高速传输时,距离会相应缩短。

  6. 抗干扰能力:由于采用差分传输,RS485具有较强的抗共模干扰能力,适用于环境恶劣的工业现场。

  7. 接口电路:RS485接口电路通常包括差分驱动器和差分接收器。差分驱动器负责将单端信号转换为差分信号并发送到总线上,差分接收器则将总线上的差分信号转换为单端信号。

  8. 电气特性:RS485标准定义了电气特性,如驱动器输出电压、接收器输入电压范围、共模电压范围等,以确保不同设备之间的兼容性。

总之,RS485差分传输因其稳定性和可靠性,在工业控制、自动化等领域得到了广泛应用。

-----------------

RS485与DB9接口的关系

RS485协议并不规定必须使用特定的物理接口,而DB9接口也不限定必须用于某种特定的通信协议。然而,在实际应用中,RS485设备常常使用DB9接口作为物理连接器,因为DB9接口在串行通信设备中非常普遍。以下是RS485与DB9接口结合使用时的一些常见连接方式:

  • 引脚2(RXD):通常连接到RS485接收器的差分输入正端(A)。
  • 引脚3(TXD):通常连接到RS485驱动器的差分输出正端(A)。
  • 引脚5(GND):通常用作信号地。
  • 引脚7(RTS):在一些实现中,RTS(Request To Send)信号被用来控制RS485收发器的方向,即当RTS为高电平时,设备处于发送状态;当RTS为低电平时,设备处于接收状态

需要注意的是,并不是所有的RS485设备都使用DB9接口,有些设备可能使用其他类型的连接器,如RJ45、端子块等。此外,RS485设备的具体引脚分配可能会根据制造商的设计而有所不同,因此在连接RS485设备时,最好查阅相关的硬件文档以确定正确的连接方式。

 -----------------

TTL,RS232:传输距离最多十多米

RS232一般用于电脑间传输

RS485:传输距离最多1000米以上

------------------

低电压,单片机

高电压,电脑

-------------------

51单片机不支持数据流控制

DB9接口中某些接口用于进行数据流控制

------------------

相关文章:

学习串行通信

本文来源: [8-1] 串口通信_哔哩哔哩_bilibili 智谱清言 ------------ 串口(Serial Port): 串口是一种应用非常广泛的通讯接口,串口成本低,容易使用,通信线路简单,可实现两个设…...

【leetcode强化练习·二叉树】同时运用两种思维解题

本文参考labuladong算法笔记[【强化练习】同时运用两种思维解题 | labuladong 的算法笔记] 有的题目可以同时用「遍历」和「分解问题」两种思路来解,你可以利用这些题目训练自己的思维。 559. N 叉树的最大深度 | 力扣 | LeetCode | 给定一个 N 叉树,…...

Rank-analysis-1.2——一款基于LCU API的排位分析工具,大四学生独立开发

LOL Rank Record Analysis:一款基于LCU API的排位分析工具,大四学生独立开发! 大家好!我是河南科技学院的大四学生,今天给大家分享一个我自己开发的软件——LOL Rank Record Analysis。这是一个基于 Riot 提供的 LCU …...

什么是门控循环单元?

一、概念 门控循环单元(Gated Recurrent Unit,GRU)是一种改进的循环神经网络(RNN),由Cho等人在2014年提出。GRU是LSTM的简化版本,通过减少门的数量和简化结构,保留了LSTM的长时间依赖…...

Google Chrome-便携增强版[解压即用]

Google Chrome-便携增强版 链接:https://pan.xunlei.com/s/VOI0OyrhUx3biEbFgJyLl-Z8A1?pwdf5qa# a 特点描述 √ 无升级、便携式、绿色免安装,即可以覆盖更新又能解压使用! √ 此增强版,支持右键解压使用 √ 加入Chrome增强…...

智慧园区综合管理系统如何实现多个维度的高效管理与安全风险控制

内容概要 在当前快速发展的城市环境中,智慧园区综合管理系统正在成为各类园区管理的重要工具,无论是工业园、产业园、物流园,还是写字楼与公寓,都在积极寻求如何提升管理效率和保障安全。通过快鲸智慧园区管理系统,用…...

【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙

目录 1. 梯度基本计算 2. 控制梯度计算 3. 梯度计算注意 4. 小节 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活…...

从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)

目录 协议层设计,以IIC为例子 关于软硬件IIC 设计的一些原则 完成协议层的抽象 刨析我们的原理 如何完成我们的抽象 插入几个C语言小技巧 完成软件IIC通信 开始我们的IIC通信 结束我们的IIC通信 发送一个字节 (重要)完成命令传递和…...

Mac M1 源码安装FFmpeg,开启enable-gpl 和 lib x264

1、第一步:下载并安装minicoda curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.shsh Miniconda3-latest-MacOSX-arm64.sh2、第二步:安装必要的依赖 conda install -c conda-forge gcc make nasm yasm3、第三步&#xff…...

【Quest开发】手柄单手抓握和双手抓握物体切换

V72更新以后非常智能哈,配置物体简单多了。 选择需要被抓取的物体鼠标右键单击它,点Add Grab Interaction,按它要求的配置就行 配好以后长这样 把这个选项取消勾选就能切换成双手抓一个物体了,不需要像以前一样用各种grabTransfo…...

DB-GPT试用

继续上一篇 DB-GPT的安装 https://blog.csdn.net/berryreload/article/details/142845190 访问http://xxx:5670 访问这里 创建数据库连接 http://10.168.1.208:5670/construct/database 访问这里,点击刷新 http://10.168.1.208:5670/construct/app 刷新后才能出…...

​《Ollama Python 库​》

Ollama Python 库 Ollama Python 库提供了将 Python 3.8 项目与 Ollama 集成的最简单方法。 先决条件 应该安装并运行 Ollama拉取一个模型以与库一起使用&#xff1a;例如ollama pull <model>ollama pull llama3.2 有关可用模型的更多信息&#xff0c;请参阅 Ollama.com。…...

Java的Integer缓存池

Java的Integer缓冲池&#xff1f; Integer 缓存池主要为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围&#xff0c;因此缓存这些对象可以减少内存分配和垃圾回收的负担&#xff0c;提升性能。 在-128到 127范围内的 Integer 对象会被缓存和复用…...

Ubuntu16.04编译安装Cartographer 1.0版本

说明 官方文档 由于Ubuntu16.04已经是很老的系统&#xff0c;如果直接按照Cartographer官方安装文档安装会出现代码编译失败的问题&#xff0c;本文给出了解决这些问题的办法。正常情况下执行本文给出的安装方法即可成功安装。 依赖安装 # 这里和官方一致 # Install the req…...

Qt调用FFmpeg库实时播放UDP组播视频流

基于以下参考链接&#xff0c;通过改进实现实时播放UDP组播视频流 https://blog.csdn.net/u012532263/article/details/102736700 源码在windows&#xff08;qt-opensource-windows-x86-5.12.9.exe&#xff09;、ubuntu20.04.6(x64)(qt-opensource-linux-x64-5.12.12.run)、以…...

C# 类与对象详解

.NET学习资料 .NET学习资料 .NET学习资料 在 C# 编程中&#xff0c;类与对象是面向对象编程的核心概念。它们让开发者能够将数据和操作数据的方法封装在一起&#xff0c;从而构建出模块化、可维护且易于扩展的程序。下面将详细介绍 C# 中类与对象的相关知识。 一、类的定义 …...

【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)

Elasticsearch系列文章目录 【Elasticsearch 基础入门】一文带你了解Elasticsearch&#xff01;&#xff01;&#xff01;【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置&#xff08;单机&#xff09; 目录 Elasticsearch系列文章目录前言单机模式1. 安装 J…...

大模型本地部署使用方法(Ollama脚手架工具、FisherAI浏览器大模型插件、AnythingLLM大模型集成应用平台)

一、Ollama &#xff08;一&#xff09;Ollama简介 Ollama是一个专为在本地环境中运行和定制大型语言模型而设计的工具。它提供简单高效的接口&#xff0c;用于创建、运行和管理这些模型&#xff0c;方便用户直接使用&#xff0c;也方便用作后台服务支撑其它应用程序。熟悉网…...

【华为OD-E卷 - 报数游戏 100分(python、java、c++、js、c)】

【华为OD-E卷 - 报数游戏 100分&#xff08;python、java、c、js、c&#xff09;】 题目 100个人围成一圈&#xff0c;每个人有一个编码&#xff0c;编号从1开始到100。 他们从1开始依次报数&#xff0c;报到为M的人自动退出圈圈&#xff0c;然后下一个人接着从1开始报数&…...

深入理解Spring框架:从基础到实践

前言 Spring框架是一个开源的企业级应用开发框架&#xff0c;它为Java开发者提供了灵活的架构支持&#xff0c;特别是在依赖注入&#xff08;IOC&#xff09;和面向切面编程&#xff08;AOP&#xff09;方面。本文将通过具体的示例&#xff0c;带你从Spring框架的概述、IOC容器…...

一觉醒来全球编码能力下降100000倍,新手小白的我决定科普C语言——函数

1. 函数的概念 数学中我们其实就⻅过函数的概念&#xff0c;⽐如&#xff1a;⼀次函数 y kx b &#xff0c;k和b都是常数&#xff0c;给⼀个任意的 x&#xff0c;就得到⼀个y值。其实在C语⾔也引⼊函数&#xff08;function&#xff09;的概念&#xff0c;有些翻译为&#xf…...

CentOS 上安装 Go (Golang)

1. 检查系统环境 确保系统为 CentOS 7 或 CentOS 8&#xff0c;或者其他兼容的 Linux 发行版。 cat /etc/os-release2. 安装依赖 安装一些必要的工具&#xff1a; sudo yum update -y sudo yum install -y wget tar3. 下载 Go 从 Go 官方下载页面获取适用于 Linux 的最新版…...

软件模拟I2C案例前提须知——EEPROM芯片之M24C02

引言 了解了I2C的基础知识后&#xff0c;我们将来使用一个I2C案例实践来深入理解I2C通讯&#xff0c;即软件模拟I2C。顾名思义&#xff0c;就是利用软件方式通过模拟I2C协议要求的时序或者说一些相关规定来实现一个I2C通讯协议&#xff0c;然后利用模拟出的I2C协议来实现两个设…...

GIS教程:全国数码商城系统

文章目录 注册高德地图API普通网页中测试地图加载地图添加标记地图配置点标记 Marker添加弹框创建vue项目并添加高德地图创建项目加载高德地图项目首页布局封装axios和配置代理服务器获取城市热门信息获取城市区县信息获取区县商城信息获取指定城市区县的经纬度坐标将地图缩放到…...

BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机

BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机 BroadCom-RDMA 博通网卡Baumer-RDMA 万兆网相机Baumer工业相机RDMA功能的技术背景BroadCom-RDMA博通网卡如何进行驱动安装和设置具有RDMA功能一、安装ZVA-BroadCom-RDMA网卡二、设备管理器…...

分布式微服务系统架构第90集:现代化金融核心系统

#1.1 深化数字化转型&#xff0c;核心面临新挑战 1、架构侧&#xff1a;无法敏捷协同数字金融经营模式转型。 2、需求侧&#xff1a;业务需求传导低效始终困扰金融机构。 3、开发侧&#xff1a;创新产品上市速度低于期望。 4、运维侧&#xff1a;传统面向资源型监控体系难以支撑…...

进阶数据结构——双向循环链表

目录 前言一、定义与结构二、特点与优势三、基本操作四、应用场景五、实现复杂度六、动态图解七、代码模版&#xff08;c&#xff09;八、经典例题九、总结结语 前言 这一期我们学习双向循环链表。双向循环链表不同于单链表&#xff0c;双向循环链表是一种特殊的数据结构&…...

记录一次,PyQT的报错,多线程Udp失效,使用工具如netstat来检查端口使用情况。

1.问题 报错Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 932, in _bootstrap_inner File "threading.py", line 870, in run File "main.py", line 456, in udp_recv IndexError: list…...

安装anaconda3 后 电脑如何单独运行python,python还需要独立安装吗?

安装anaconda3 后 电脑如何单独运行python&#xff0c;python还需要独立安装吗? 电脑第一此安装anaconda用于jupyter notebook使用。 但是在运行cmd的时候&#xff0c;输入python --version 显示未安装或跳转商店提示安装。 明明我可以运行python但是为什么cmd却说我没安装呢…...

电子电气架构 --- 汽车电子拓扑架构的演进过程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…...