产品
有人云 — 物联网云平台 零编程,组态拖拽即可实现远程监控。同时支持私有部署,拥有属于自己的软硬件一体化方案
200
+
私有云项目
数据本地化
业务个性化
10
+
万 公有云注册用户
80%公有云功能免费
付费VIP享自定义品牌服务
有人云官网
有人智造 — ODM/EMS 依托自动化、智能化、柔性化、透明化的智能工厂,
提供代研、代料、代工一站式OEM/ODM服务
有人智造官网
有人智能 — 解决方案 打包提供云、管、边、端整体解决方案
从问题诊断、方案设计,到实施落地、系统运维
有人智能官网
新闻资讯
串口通讯的数据位时间必须一致吗
2020-12-11


  什么是串口通讯

  串口通讯对单片机来说意义重大,并且所需要的电缆数量少,接线简单,所以广泛应用于远程数据传输。简单来说,主机与外设的数据交换,比如电脑和打印机之间的沟通,还有主机与主机的数据交换,比如QQ通讯,都是由串口通讯来实现的。

  想要实现串口通讯,需要三根线来完成整个过程:地线、发送和接收。由于串口通讯是异步的,端口能够在一根线上发送数据的同时,在另一根线上接收数据。其他的线用于“握手”,表示友好。整个过程好比木桶取水,发送方掀开桶盖儿,再往桶里倒水,也就是说,你要把数据发送给谁,发送什么东西。当发送完成,接收方需要从桶内取水。当水取完时,会给发送方一个消息,告诉他“我接收完了”。也就相当于打印机,在打印之前会问计算机,是否打印此数据。是,则启动打印工作;否,则停止打印。所以一般串口通讯,总要有一个主动方和一个被动方,而且二者传输数据时,会有一定的协商好的数据格式。发送和接收都要按照此数据格式进行。

  串口通讯的数据位时间必须一致吗

  串口通讯会用到串口,常用的串行端口有RS232、RS485、RS422。所谓串行通讯就是一次进行一个数据位传输的意思。也就是说在某个时间点上,只会呈现一种电平。各种电平一次呈现,可能会持续某个单位长度,我们把这种通讯称之为串口通讯。

  比如我们要传输某个二进制数据:“10 10 10 10”。这个字节有八个比特位。串行通讯传输一个字节时,是从右边的低比特位开始传输。传输这个字节需要八个单位时间,而每个比特位的时间是可以单独设置的。如果发送方将每个比特位的时间设置为M,那么接收方也需要将每个比特位的时间设置为M。如果接收方将时间设置为N,也可以接收到数据,但是接受到的数据与源数据不一致。数据不一致,那么串口通讯过来的数据也就没有意义了。所以发送方和接收方的每个比特位时间数一定要一致。


关注有人微信公众号
了解更多信息