51单片机系列-串口(UART)通信技术

🌈个人主页: 羽晨同学

💫个人格言:“成为自己未来的主人~”  

并行通信和串行通信

 并行方式

并行方式:数据的各位用多条数据线同时发送或者同时接收

并行通信特点:传送速度快,但因需要多根传输线,曾经在近距离、高速率通信中使用,但是这个东西后来不用了。

串行方式

是将数据排成一串,分成一位一位的形式在一条传输线上逐个的传送

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话线,网线等设备传输,但数据的传送控制比并行通信复杂

 异步通信和同步通信

异步通信

异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,我们要学习的单片机的串口通信就是异步通信方式

异步通信是以字符为单位进行传输,字符和字符之间的间隙是任意的,但是每个字符的各位之间的间隙是相同的,字符之间是异步的,但是字符之内每个位之间是同步的

 异步通信的特点,不会要求收发双方的时钟的严格一致,实现容易,设备开销较小,但是每个字符需要加2-3位,各个帧之间还有间隔,所以传输效率不高。

同步通信

同步通信和异步通信的最大的区别就是要建立对收发双方时钟的绝对控制,使得双方达到绝对的同步,此时除了字符和字符之间,位与位之间也要保持同步关系。

串行通信的线路输出方式

单工

单工就是数据传输仅能沿一个方向,不能实现反向传输

半双工

数据传输可以沿两个方向,但是要分时进行

全双工 

 数据传输不仅可以沿两个方式,而且可以同时进行

从左到右分别是单工,半双工,全双工

串行通信常用的数据检验方式

奇偶检验

在发送数据时,数据位尾随的1为奇偶检验位(1/0)

奇检验时,数据中1的位数和检验位1的位数之后应为奇数,偶检验时,位数之后应为偶数,若发现不一致,则代表着传输数据的过程出现了差错

 

代码和检验

 是发送方将所发数据求和,产生一个字节的校验字符(校验和)加到数据的末尾,接收方接受数据同时进行求和,然后将求到的和与校验和进行比较,看看是不是一样的。

信号的调制和解调

利用解调器,把数字信号转换成模拟信号,然后送到通信线路上去,再由调制器把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置里面,这就是调制解调器。

RS-232接口

RS-232C接口规定使用25针连接器,后来简化成了9针连接器

在这里面,需要注意的主要是2 3 7

RS-232C电平与TTL电平转换驱动电路

第一个是由TTL-232,第二个是由232-TTL

这个是现在的通信芯片

采用RS-232存在的问题

传输距离短,传输速率低,一般不要超过15米,线路好的也不要超过几十米,最高传送速率有限

有电平转移,要求双方共地

抗干扰信号差,采用单端输入输出,存在干扰和噪声,为了提高信噪比,不得不采用较大的电压摆幅。

RS-422A接口

RS-422A输出驱动器是双端平衡驱动器,如果其中一条逻辑是1,另一条逻辑就是0 

RS-485接口

RS-485是RS-422A的变型,RS-485用于半双工,而RS-422A用于全双工,如果要连接更多的设备,还可以使用中继器

RS-485的信号传输采用两线间的电压差来表示逻辑0和逻辑1

他可以多个设备进行互联:

一个主机,多个从机

RS-485是一点对多点的通信接口,采用双绞线的结构,普通的PC机不带RS485接口,各个节点的识别是通过设置不同的站地址来实现的。

UART

 UART是通用异步串行通信接口,为全双工通信,至少需要两根数据线用于通信双方进行数据双向同时传输

TXD是发送引脚,RXD是接受引脚,GND是地信号

数据帧格式

异步串行通信的数据帧由起始位,数据位,校验位,停止位4部分组成

 

起始位:位于数据帧开头,占1位,始终为低电平,用于向接收设备表示发送端开始发送1帧数据

数据位:要传输的数据信息,可以是字符或数据,一般为5-8位,由低位到高位一次传送

校验位:位于数据位之后,占1位,用于发送数据的校验,或传送多机串行通信的联络信息

停止位,始终为高电平,表示发送结束

 

T1,R1是中断位,需要手动清0,验证数据有没有接收完

有两个物理上独立的接收,发送缓冲器SBUF,它们占用同一地址99H,接收器是双缓冲结构,发送时GPU是主动的,不会产生重叠错误。

写SBUF时,操作的是发送缓冲器,读SBUF时,就是读接收缓冲器的内容

 发送器工作原理

发送控制器,将SBUF发中的并行数据转为串行数据,并自动添加起始位,可编程位,停止位。

这一过程结束后自动使发送中断请求标志位置为1,表明已经将SBUF发中的数据输出到TXD引脚,即SBUF发为空

接受数据工作原理

在输入移位寄存器和定时器T1的配合下,使来自RXD引脚的串行数据转成并行数据,并自动过滤掉起始位,可编程位,停止位,这一过程结束后自动是的中断请求标志位置为1,表明数据都存放到了SBUF收,即SBUF收为满

串行控制寄存器SCON

 

SCON:地址是98H,T1和R1硬件置为1后,需要用软件方式清0

电源控制寄存器PCON

 

空闲控制位和掉电控制位给单片机省电,控制控制位可以将单片机进入休眠模式,只有外部中断可以唤醒

中断允许控制器IE中涉及到串行中断允许控制位ES

ES为串行中断允许控制位,设置ES为0时,将禁止串行中断,设置ES为1时,允许串行中断

4种串口工作方式解读

方式1

方式1是10位数据的异步通信口,TXD是数据发送引脚,RXD是数据接收引脚

方式2

方式3

方式2和方式3基本相同,就是波特率不同,方式2的波特率固定为晶振频率的1/64或者1/32,方式3的波特率由定时器T1的溢出率决定。

方式0

数据由RXD引脚输入或者输出,同步移位脉冲由TXD引脚输出,发送和接收均为8位数据,低位在先,高位在后,波特率固定为fosc/12

方式0输出 

方式0输入

好了,本次的文章就到这里了,我们下次再见。 

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

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

相关文章

监控易监测对象及指标之:全面监控Sybase_New数据库

随着企业数据量的不断增长和业务的复杂化,数据库的稳定性和性能成为了保障业务连续性的关键因素。Sybase_New数据库作为众多企业选择的数据管理解决方案,其稳定性和性能对于企业的运营至关重要。 为了确保Sybase_New数据库的稳定运行和高效性能&#xff…

【Golang】深入解读Go语言中的错误(error)与异常(panic)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)

一、什么是IIC?24C02存储器有什么用? IIC (IIC 是半双工通信总线。半双工意味着数据在某一时刻只能沿一个方向传输,即发送数据的时候不能接收数据,接收数据的时候不能发送数据)即集成电路总线(…

AI智能时代的图书馆未来,你想象过吗!

AI智能时代的图书馆未来,你想象过吗! 前言AI智能时代的图书馆未来 前言 教育数字化和 AI 时代的浪潮正汹涌而来,图书馆也站在了变革的十字路口。我们看到高等教育正在发生深刻的变革,从教学模式到人才培养理念,都在经…

Linux 再入门整理:详解 /etc/fstab 文件

目录 1. 什么是 /etc/fstab2. /etc/fstab 文件的格式2.1 设备文件 (Device)2.2 挂载点 (Mount Point)2.3 文件系统类型 (File System Type)2.4 挂载选项 (Mount Options)2.5 Backup Operation(dump 参数)2.6 Pass Order (fsck 参数)2.6.1 参数设置2.6.2 …

智慧防灾,科技先行:EasyCVR平台助力地质灾害视频监测系统建设

随着科技的飞速发展,视频监控技术已成为地质灾害监测与预警的重要手段之一。在众多视频监控平台中,EasyCVR视频汇聚平台凭借其强大的视频整合、实时传输、视频处理及分发等能力,在地质灾害场景中展现出显著的应用优势。 一、实时监测与远程监…

【RabbitMQ——具体使用场景】

1. 异步 1.1 同步异步的问题(串行) 串行方式:将订单信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端 public void makeOrder(){// 1 :保存订单 orderService.…

SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS

一、本地上传 概念&#xff1a;将前端上传的文件保存到自己的电脑 作用&#xff1a;前端上传的文件到后端&#xff0c;后端存储的是一个临时文件&#xff0c;方法执行完毕会消失&#xff0c;把临时文件存储到本地硬盘中。 1、导入文件上传的依赖 <dependency><grou…

[uni-app]小兔鲜-04推荐+分类+详情

热门推荐 新建热门推荐组件, 动态设置组件的标题 <template><!-- 推荐专区 --><view class"panel hot"><view class"item" v-for"item in list" :key"item.id">... ...<navigator hover-class"none&…

C# HttpClient请求URL重定向后丢失Authorization认证头

搜查官方文档后发现&#xff1a; HttpWebRequest.AllowAutoRedirect Property (System.Net) | Microsoft Learn 微软提供的http类库HttpClient &#xff08;HttpWebRequest\WebClient已不推荐使用&#xff0c;用HttpClient代替&#xff09;有备注提醒&#xff1a;当使用自动重…

Android Button “No speakable text present” 问题解决

记录一个问题&#xff0c;今天让同学们做了个小车控制界面&#xff0c;使用Button控件&#xff0c;删除设置的text属性&#xff0c;会出现“No speakable text present”的错误&#xff0c;如图所示。这是由于Android的无障碍设置需要朗读Button的文本&#xff0c;如果没有设置…

基于elasticsearch存储船舶历史轨迹: 使用scroll滚动技术实现大数据量搜索

文章目录 引言I 轨迹索引的设计轨迹文档定时创建索引手动添加索引并为索引添加别名POST请求批量插入文档数据II 查询文档数据基于scroll滚动技术实现大数据量搜索查询轨迹查询参数返回dtoIII 知识扩展空指针处理术语介绍基于 search_after 实现深度分页引言 需求: 存储轨迹,…

免费 Oracle 各版本 离线帮助使用和介绍

文章目录 Oracle 各版本 离线帮助使用和介绍概要在线帮助下载离线文档包&#xff1a;解压离线文档&#xff1a;访问离线文档&#xff1a;导航使用&#xff1a;目录介绍Install and Upgrade&#xff08;安装和升级&#xff09;&#xff1a;Administration&#xff08;管理&#…

大数据毕业设计选题推荐-民族服饰数据分析系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构&#xff0c;微服务架构技术栈有&#xff0c;服务注册中心&#xff0c;网关&#xff0c;熔断限流&#xff0c;服务同学&#xff0c;配置中心等组件&#xff0c;其中&#xff0c;熔断限流主要3个功能特性&#xff0c;限流&#xff0c;熔断&…

[MAUI]数据绑定和MVVM:MVVM的属性验证

一、MVVM的属性验证案例 Toolkit.Mvvm框架中的ObservableValidator类,提供了属性验证功能,可以使用我们熟悉的验证特性对属性的值进行验证,并将错误属性提取和反馈给UI层。以下案例实现对UI层的姓名和年龄两个输入框,进行表单提交验证。实现效果如下所示 View<ContentP…

【Python】Django Grappelli:打造优雅且现代化的 Django 管理后台

在 Django 开发中&#xff0c;默认的 Django Admin 界面尽管功能强大且能满足大多数管理需求&#xff0c;但其界面设计相对基础&#xff0c;尤其在用户体验和视觉呈现上显得较为简约。在一些项目中&#xff0c;开发者可能需要更加现代化且美观的后台界面。这时&#xff0c;Djan…

【Redis】Redis中的 AOF(Append Only File)持久化机制

目录 1、AOF日志 2、AOF 的执行顺序与潜在风险 3、如何优化 AOF&#xff1f;&#xff08;写入策略&#xff09; 4、AOF重写机制&#xff08;防止日志文件无限增长&#xff09; 1、AOF日志 想象一下&#xff0c;Redis 每次执行写操作的时候&#xff0c;都把这些操作以追加的…

人工智能 | 手工测试用例转Web自动化测试生成

简介 在传统编写 Web 自动化测试用例的过程中&#xff0c;基本都是需要测试工程师&#xff0c;根据功能测试用例转换为自动化测试的用例。市面上自动生成 Web 或 App 自动化测试用例的产品无非也都是通过录制的方式&#xff0c;获取操作人的行为操作&#xff0c;从而记录测试用…

大语言模型入门(一)——大语言模型智能助手

一、大语言模型智能助手 2022年末ChatGPT一经推出&#xff0c;一时间不注册个账号用一下都跟不上潮流了。然而&#xff0c;我们要注册OpenAI的账号使用ChatGPT还是一件比较麻烦的事情&#xff08;懂的都懂&#xff09;。好在&#xff0c;国内各大团队非常给力地及时推出了自研的…