天津个人专业做网站/网站搭建
🌈个人主页: 羽晨同学
💫个人格言:“成为自己未来的主人~”
并行通信和串行通信
并行方式
并行方式:数据的各位用多条数据线同时发送或者同时接收
并行通信特点:传送速度快,但因需要多根传输线,曾经在近距离、高速率通信中使用,但是这个东西后来不用了。
串行方式
是将数据排成一串,分成一位一位的形式在一条传输线上逐个的传送
串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话线,网线等设备传输,但数据的传送控制比并行通信复杂
异步通信和同步通信
异步通信
异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,我们要学习的单片机的串口通信就是异步通信方式
异步通信是以字符为单位进行传输,字符和字符之间的间隙是任意的,但是每个字符的各位之间的间隙是相同的,字符之间是异步的,但是字符之内每个位之间是同步的
异步通信的特点,不会要求收发双方的时钟的严格一致,实现容易,设备开销较小,但是每个字符需要加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输入
好了,本次的文章就到这里了,我们下次再见。
相关文章:

51单片机系列-串口(UART)通信技术
🌈个人主页: 羽晨同学 💫个人格言:“成为自己未来的主人~” 并行通信和串行通信 并行方式 并行方式:数据的各位用多条数据线同时发送或者同时接收 并行通信特点:传送速度快,但因需要多根传输线…...

使用k8s部署java前后端服务
一、项目架构 前端、后端、数据库 1)前端 静态的资源:img css html js文件 js:axios、ajax 2)后端 提供数据:根据web前端发送的请求,从数据库中获取数据 请求都是无状态的,如何保持会话 …...

使用docker创建zabbix服务器
首先保证服务器已正常安装docker,然后执行下面这几个容器创建命令: #创建MySQL容器 docker run --name mysql-server -t --restartunless-stopped -e MYSQL_DATABASE"zabbix" -e MYSQL_USER"zabbix" -e MYSQL_PASSWORD"zabbix_…...

nodejs 016: javascript语法——解构赋值({ a, b, c } = {})=>{console.log(“Hello“);}
在 JavaScript 中,函数参数 { a, b, c } {} 的含义是在函数定义时提供一个默认的对象参数。这个对象包含了三个可选的属性 a, b, 和 c。如果没有传递参数或者传递的参数是一个非对象类型的值,那么函数内部将使用一个空对象 {} 作为参数。 示例 const …...

【人人都能看懂的大模型原理】(一)
前言 当前大模型的学习资源呈现爆发趋势,各种角色的人都用自己的视角参与到大模型的讨论。但是我发现这些学习资源都有几个特点:只摆事实而不讲道理;只讲应用可能而不提实现代价;只讲可能性而缺乏实操经验分享;洞察材…...

JMeter源码解析之JMeter命令行新增命令
JMeter源码解析之JMeter命令行新增命令 需求描述 需要新增一条命令,能够在JMeter命令行中能够展示输入对应的JMeter命令,能够展示对应的命令信息 查看命令效果如下: apache-jmeter-5.1\bin>jmeter --? Copyright © 1999-2024 The …...

YOLOv8 Windows c++推理
#添加一个**yolov8\_。onx **和/或**yolov5\_。Onnx **模型(s)到ultralytics文件夹。 #编辑**main.cpp**来改变**projectBasePath**来匹配你的用户。#请注意,默认情况下,CMake文件将尝试导入CUDA库以与opencv dnn (cuDNN) GPU推理一起使用。 #如果你的Op…...

一文读懂Python中的Popen函数
目录 1. 基本知识2. Demo 1. 基本知识 在Python中,Popen 是 subprocess 模块中的一个函数,它用于创建一个子进程并与其进行通信 subprocess.Popen():Popen 类用于创建和管理子进程 与 os.system() 或 os.popen() 相比,Popen 提供…...

07-阿里云镜像仓库
07-阿里云镜像仓库 注册阿里云 先注册一个阿里云账号:https://www.aliyun.com/ 进入容器镜像服务控制台 工作台》容器》容器服务》容器镜像服务 实例列表》个人实例 仓库管理》镜像仓库》命名空间》创建命名空间 仓库管理》镜像仓库》镜像仓库》创建镜像仓库 使…...

net core mvc 数据绑定 《2》
mvc core 模型绑定 控制绑定名称 》》》Bind 属性可以用来指定 模型应该 绑定的前缀 public class MyController : Controller {[HttpPost]public ActionResult Create([Bind(Prefix "MyModel")] Ilist<MyModel> model){// 模型绑定将尝试从请求的表单数据中…...

文件服务器FastDFS 消息队列中间件RabbitMQ
新标签页 (chinaunix.net) FastDFS - Browse Files at SourceForge.net 一、FastDFS Tracker和Storage: tracker用来管理所有的storage,只是管理服务器,负责负载均衡。 storage是存储服务器,每一个storage服务器都是一个单独的个…...

工作纪实58-Idea打jar包
有时候需要配合算法使用spark定时DP,调用java相关的jar包做数据处理 idea打jar包有以下三种场景 SpringBoot的Maven项目【Maven打包即可】非SpringBoot的Maven项目【添加maven打包参数,使用Maven打包】 借助maven的配置进行打包,新增以下配置…...

ELK-03-skywalking监控linux系统
文章目录 前言一、下载node_exporter二、启动node_exporter三、下载OpenTelemetry Collector四、启动OpenTelemetry Collector4.1 将配置文件下载到同级目录4.2 启动 五、查看总结 前言 skywalking安装完成后,开始我们的第一个监控-监控linux系统。 参考官方文档&a…...

HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13
HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13...

开源图像降噪算法与项目介绍【持续更新】
Intel Open Image Denoise 介绍:Intel Open Image Denoise(OIDN)是一个开源库,它提供了一系列高性能、高质量的去噪滤镜,专门用于光线追踪渲染的图像。这个库是Intel Rendering Toolkit的一部分,并且是在宽…...

RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用
以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比,包括参数、性能以及二次开发等支持,附带代码示例。 详细信息对比和二次开发示例 1. 英特尔 RealSense (例如 D435/D455) 深度技术:立体视觉 红外投影分辨率&a…...

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍
启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…...

vector的模拟实现以及oj题(2)
前言 上篇博客介绍了大部分vector的接口,其中包括begin()、end()、const begin()、 const end()、size、capacity、reserve、empty、push_back、pop_back、insert、operator[],这篇博客将介绍剩下的部分接口,以及一些oj题解法和思路。 vect…...

数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程
随着大数据时代的到来,数据已经成为企业的核心资产之一。在过去几十年间,数据技术也随之不断演进,从早期的数据仓库到近年来热门的数据中台,再到正在快速发展的数据飞轮概念,每一步都是技术革新的体现。 一、数据仓库&…...

JAVA JDK华为云镜像下载,速度很快
直达下载地址 https://repo.huaweicloud.com/java/jdk/ https://repo.huaweicloud.com/java/jdk/欢迎各位收藏享用!!!...

【RKNN系列】官方函数:querystring
querystring 函数 功能 查询获取当前芯片平台RGA硬件版本与功能支持信息,以字符串的形式返回。 语法 std::string querystring(int query_type);参数 query_type: 要查询的 RGA 信息类型(整数) 描述 这个函数用于获取特定类型的 RGA 信…...

Stable Diffusion零基础学习
Stable Diffusion学习笔记TOP14 _插件篇之ControlNet功能篇 ControlNet目前支持的10多种预处理器,根据数据检测种类可分为两种类型: 1、功能型:拥有着不同的能力 2、构图型:控制着SD扩散图形的构图规则 部分未编写预处理器的功…...

C#基于SkiaSharp实现印章管理(9)
将印章设计模块设计的印章保存为图片并集中存放在指定文件夹内。新建印章应用项目,主要实现对图片及PDF文件加盖印章功能。本文实现给图片加盖印章功能。 给图片加盖印章的逻辑比较简单,就是将印章图片绘制到图片指定位置,使用SKControl控…...

研究生如何利用ChatGPT帮助开展日常科研工作?
小白可做!全自动AI影视解说一键成片剪辑工具https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 作为当代研究生,科研工作三部曲----读文献、开组会、数据分析。无论哪一个,都令研究生们倍感头疼,简直就是梦魇。每当看到导师发来的消息&a…...

汽车零部件开发流程关键阶段
目录 1、定点阶段 1.1、定点前的准备工作 1.2、定点决策过程 1.3、定点后的工作交接 2、A样阶段:设计验证与基本功能实现 2.1、样件制作:从设计图纸到实物转化 2.2、功能测试:初步验证与性能评估 2.3、评估与优化:A样阶段…...

Magnific推V2图像生成服务 可直出4K图像
人工智能 - Ai工具集 - 集合全球ai人工智能软件的工具箱网站 近日,AI图像处理领域再迎重大突破,Magnific推出的V2图像生成服务引领行业潮流。此次升级,不仅使Magnific从高端软件跻身为顶级AI图像生成器,更彰显了其在技术创新及用…...

E9OA解决文档附件没有关联文档正文问题
业务背景: OA通知流程已经提交后在审批中发现漏上传了文档附件。临时放开审批结点文档附件编辑,请审批结点领导将附件上传后再审批。最终在流程中查看可以看到正文和附件,但是在通知文档正文中没有关联文档附件,导致大多数人员在通…...

EasyExcel日常使用总结
文章目录 概要引入依赖常用操作方法折叠或隐藏列折叠或隐藏行单元格样式单行表头设置多行表头设置多个sheet写入自动列宽 概要 EasyExcel日常使用总结。 引入依赖 引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</a…...

人只活一次,活出一道光吧
人只活一次, 你怎么舍得让自己的短暂的一生是丑陋的, 你怎么舍得让自己短暂的一生, 只是在往下坠落, 即便是坠落, 也应该具有落日般的华丽吧, 你会漫漫的活成一束光, 谁若接近你, 就是接近光, 【人人都想向上,人人都想老而不衰,但现实是当你想活成一道光…...

sqli-labs:1~16(sql注入点稳定判断语句、全回显半回显报错回显无回显利用思路、sql注入tips)
怎么验证sql注入的存在呢? 首先,双引号单引号注入,看看有没有报错,或者与正常参数的区别,有报错说明大概率可以注入成功,但是,很可能单引号和双引号测试可能没有报错回显,或者与正常…...