您的位置: 主页 > 异步通信原理解析

异步通信原理解析

  串口通信常见的名词就是上面几位,真正的承担串口通信的是UART,TTL/232/485只是电平定义不同。因此研究串口通信主要是明白UART的工作原理。

  由上面的UART结构框图我们可以看到,一个UART包括发送缓冲区S-SBUF,接收缓冲区R-SBUF,发送端口SEN,接收端口RCV,发送完成置位TI,接收完成置位RI。当然UART包含的不止这些,还有设置寄存器与时钟输入,不过仅就理解其原理而言,前面几个就够了。

  那么具体怎么用UART呢?当我们需要发送数据的时候,只需要将数据放到S-SBUF里面,在UART检测到信息进入S-SBUF后,会自动将数据按位传送到SEN引脚上,数据发送就完成了。但是为了便于对端RCV引脚接收,UART在发送数据时会遵循一个约定俗成的规律,为什么这么做呢,细心的朋友可能注意到了,当传输结束时,SEN会将引脚拉倒高电平,此后会一直保持高电平的状态直到下次数据传输前,那么我在传输前将SEN拉倒低电平可以告诉对端RCV我现在已经准备传输数据了,让其做好接受准备。RCV在接受到负跳变以后,就启动接收数据的工作。我们也将其启动时的低电平称为起始位,结束时的高电平称为终止位。

  RS232的通信原理与UART一模一样,实际上,232芯片仅仅起到了一个电平转换的过程,即将0v上升到3到15v,将5V下降到-3到-15v。

  RS485与232存在区别,虽然本质上还是UART的通信原理,但是将全双工变成了半双工。

  从上图中可以看到,不管是SEN还是RCV数据,都会同时将A/B两个通信线占用,这就意味着我们在同一时间段内只能选择发送数据,或者接受数据。二选一,不能同时发送接受。485芯片给我们提供了一个引脚用来控制此时刻我们是选择发送,还是选择接受。

  那么如何避免电平竞争,那就必须保障在同一时刻只有一端发送数据。如何做到这一点,有两种办法:一是以量保质;二是以效保质。

  以量保质的意思是给每一端安装两个UART与RS485,其中一个专门用来发送,另一个专门用来接收。

  同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步是阻塞模式,异步是非阻塞模式。从字面意思...博文来自:chenfeifei521的博客

  网络上对同步传输与异步传输的文章一大把,各种图示解说也很多,但看完终归有点一头雾水,本文通俗的来说说这两种通信方式。...博文来自:化十の产研思考

  实现异步通信:1、定义AJAX的核心对象XMLHttpRequest XMLHttpRequest:是XMLHTTP组件的对象,通过该对象AJAX可以应用 程序一样同服务器进行数据层面的交互,不需要每...博文来自:php398893944的专栏

  同步通信原理   同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。   采用同步通信时,将许多字符组成一个信息组,这样,...博文来自:marken

  1.先解释什么是异步什么是同步2.同步和异步之间的区别是什么?3.设置为true或者省略表示异步4.本人理解:   5.同步是按照顺序执行,先执行前面的代码,后执行后面的代码。 6.项目实际过程中,到...博文来自:weixin_34320159的博客

  5.1.3 同步通信和异步通信 一、同步通信和异步通信 串行通信可以分为两种类型,一种叫同步通信,另一种叫异步通信。 同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在论坛

  1.同步通信原理同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。采用同步通信时,将许多字符组成一个信息组,这样,字符可以...博文来自:weixin_30345055的博客

  套接字简介:套接字最早是Unix的,window是借鉴过来的。TCP/IP协议族提供三种套接字:流式、数据报式、原始套接字。其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备问题,很少...博文来自:

  同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。所以,要我请你...博文来自:houshaoyun的博客

  本文章除了基本的socket知识以外,还用到了包括死循环获取用户连接请求,异步多线程的消息读取和写入等知识,博主前后在踩坑上花的时间至少都有10个小时,希望能帮助到你从第一次接触socket到现在已经...博文来自:liuajiehe1234567的博客

  1首先说下同步和异步的区别吧同步:提交请求-等待服务器处理-处理完毕返回这个期间客户端浏览器不能干任何事(比如普通B/S模式)异步:请求通过事件触发-服务器处理(这是浏览器仍然可以作其他事情)-...博文来自:彭思正的博客

  前言一开始在学习jms的时候,心中一直有一个疑惑,由于那时候对jsm的了解还不够深入,我当时很不理解传统的RPC远程过程调用和java消息服务有什么区别,他们两不都是在两个不同的分布式或者集群系统传递...博文来自:爱琴孩的博客

  转载:串行通信是微机接口的一个重要组成部分,有着极其广泛的应用。随着微机特别是单片机的...博文来自:dongdongnihao_的博客

  当处理速度慢达不到系统容量要求时,多年运行正常的一个小小的同步调用,可以导致整个网站停止服务。应用和服务之间的异步通信一直是许多平台的救星,也是许多平台崩溃的原因。实施的当的异步通信使产品可以近乎无限...博文来自:每一个不曾起舞的日子,都是对人生的辜负。

  目录1.发送数据的过程2.接收数据的过程3.异步通信1.特点2.那为什么会是这种通信传输格式呢?4.同步通信1.特点2.数据传输格式5.异步与同步通信的比较 发送数据寄存器TDR和发送移位寄存器:发送...博文来自:七声的博客

  同步通信编辑同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。相对于同步通信...博文来自:早先生

  前言在Android开发的多线程应用场景中,Handler机制十分常用今天,我将图文详解Handler机制的工作原理,希望你们会喜欢目录1.定义一套Android消息传递机制2.作用在多线程的应用场景...博文来自:专注分享 Android开发 干货

  在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。同步和异步大家从名称上就大概知道区别在哪里,简单的说就是主...博文来自:spdian的博客

  本文的潜在读者是五年以下经验的程序员,五年以上的资深工程师请绕道。如果读者有需求,本文回复超过十个类似需求,我会整理一套开源的开发框架,含python/c++的socket服务器端/客户端代码,Jav...博文来自:songtzu的专栏

  Python异步通信模块asyncore介绍Python的asyncore模块提供了以异步的方式写入套接字服务的客户端和服务器的基础结构。模块主要包括:asyncore.loop(…)-用于循环监听网...博文来自:kongxx的专栏

  同步通信原理:  同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。  采用同步通信时,将许多字符组成一个信息组,这样,字...博文来自:明镜台

  IBinder通信机制是一个轻量级的远程过程调用机制,用于进程内和进程间的高性能的通信。Android进程间通信(IPC)机制Binder简要介绍和学习计划博文来自:hgk324的专栏

  在串行通信中,由于是一位一位地进行数据传送。为了把每个字节区别开来,需要收发双方在传送数据的串行信息流中,加入一些标记信号位。在数据中根据所添加的标记信号位的不同方式,分成同步通信和异步通信两种。 1...博文来自:xxliuzhifeng的专栏

  串口通讯所需电缆线少,接线简单,所以广泛应用于远距离传输中。在串行通信中,数据通常是在两个站之间传送,按照数据在通信线种基本的传送方式:单工、半双工和全双工。单工通信:使用一根导线...博文来自:Newman

  异步通讯  Actors是被动的和消息驱动的,Actors在收到消息之前不会做任何事,使用异步消息进行通信。这确保发送方不会停留在等待其消息由接收者处理。相反,发送者将消息发送到收件人的邮箱中,并可以...博文来自:woshiyexinjie的专栏

  Socket编程(异步通讯,解决Tcp粘包)从上一章的通讯中,我们发现如果使用Tcp连续发送消息会出现消息一起发送过来的情况,这样给我们编程造成一定的问题,给我们的信息解析造成一定的问题。那么这篇...博文来自:weixin_30740581的博客

  通常在WEB应用程序中不会考虑到这个需求。做智能客户端的时候,当用到WebService时,由于服务器处理速度、网络传输速度等各种原因会使一个WebService从请求开始到获得响应结果之间等待一段时...博文来自:ZetaChow

  最近用c#写了一个TCP异步通讯框架TCPHelper,用于服务端客户端通讯,采用异步和事件驱动的方式,使用者只需要初始化和装载事件即可使用,框架图粗略如下所示:使用如下:(本文框架及实例下载地址)服...博文来自:lishuangquan1987的博客

  异步通信异步通信以字节为单位,长度为5至8位。异步通信的数据格式字符在异步传输中的格式:起始位+数据位+校验位+停止位常用格式a、8N1:1bit起始位+8bit数据位+无校验位+1bit停止位b、...博文来自:小春的药匣子

  并行通信-传输原理:数据各个位同时传输。-优点:速度快-缺点:占用引脚资源多串行通信-传输原理:数据按位顺序传输。-优点:占用引脚资源少-缺点:速度相对较慢串行通信:按照数据传送方向,分为:单...博文来自:的博客

  串行口的基本通信方式:   它主要分为并行通信和串行通信。      并行通信从字意上就可以理解,就是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一条传输线,此外,还需要一条信号线和若...博文来自:xhl1123456789的博客

  1、什么是浏览器的同步步骤:客户发出HTTP请求-服务器接受客户的请求并处理客户的请求-服务器将相应客户的请求,返回客户所需要的页面缺点:1.每一次客户提交请求的时候,提交的是整个页面。也就是说不...博文来自:NotPerfect-EOF

  什么是异步通信?很简单,一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态,就像硬件上常提的“中断的概念”。比较准确的说法其实应该叫做“信号驱动的异步I/O”,信号是在软件层次...博文来自:zz的博客

  内核通过使用异步I/O,在某一进程需要处理的事件发生(例如,接收到新的连接请求)时,向该进程发送一个SIGIO信号。这样,应用进程不需要不停地等待着某些事件的发生,而可以往下运行,以完成其他的工作。只...博文来自:骨头和狗的博客

  Java通过Lock类提供了高级的锁特性,它在获取锁的时候可以做更灵活的控制,比如设置获取锁的最长等待时间。Lock可以与多个Condition对象配合,Lock替代synchronized进行共享对...博文来自:icepigeon314

  POSIX消息队列的异步通信机制 对于消息队列的读取操作,不管是采用SystemV方式,还是采用POSIX方式,一般的做法都是通...博文来自:IT老兵

  NIO和IO到底有什么区别?有什么关系?首先说一下核心区别:NIO是以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和读出的。所以在效率上的话,肯定是NIO效率比IO效率会高出很多。NIO不...博文来自:王伟的博客

  目录IO基本概念同步,异步,阻塞,非阻塞同步与异步阻塞与非阻塞IO模型(ReferenceLink)​阻塞I/O模型非阻塞I/O模型进程把一个套接口设置成非阻塞是在通知内核:当所请求的I/O操作不能满...博文来自:一念永恒

  刚学了NIO,写一下自己的理解网络通信中,NIO提供了SocketChannel和ServerSocketChannel两种不同的套接字通道来实现,可以设置阻塞与非阻塞两种模式,为了实现高负载高并发都...博文来自:peekabo_o的博客

上一篇:简单的异步通信(一) - NickHomeSelf的个人空间
下一篇:问答题] 什么叫同步通信方式?什么叫异步通信方

您可能喜欢

​异步通信原理解析

​异步通信原理解析

​异步通信的定义

​异步通信的定义

回到顶部