不懂串口通讯?看这里一把教会~
时间:
2021-08-20作者:安服优
上次咱们分享了一次关于串口通讯的相关知识点:什么是串口通讯?以及串口通讯的主要分类。本期咱们再一起从“串口通讯的通讯协议”、“串口通讯的物理层”、“波特率”,“串口通讯的数据结构”这四方面来了解串口通讯,以便于帮助大家能够更全面的了解串口通讯的相关知识。
串口通讯的通讯协议
最初数据是模拟信号输出简单过程量,后来仪表接口出现了RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,这就促生了RS485。
我们知道串口通信的数据传输都是0和1,在单总线、I2C、UART中都是通过一根线的高低电平来判断逻辑1或者逻辑0,但这种信号线的GND再与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。所以差分通信、支持多机通信、抗干扰强的RS485就被广泛的使用了。
RS485通信最大特点就是传输速度可以达到10Mb/s以上,传输距离可以达到3000米左右。大家需要注意的是虽然485最大速度和最大传输距离都很大,但是传输的速度是会随距离的增加而变慢的,所以两者是不可以兼得的。

串口通讯的物理层
串口通讯的物理层有很多标准,例如上面提到的,我们主要讲解RS-232标准,RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。

下图为DB9标准串口通讯接口:



波特率
波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示;

因此,那么每1bit的时间就是1/9600秒=104.1666…us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。两台设备要想实现串口通讯,这收发端设置的波特率必须相同,否则是没办法实现通讯的。
收发波特率一致可以实现通讯:


串口通讯的数据结构

数据位: 数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。
奇偶校验位: 奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。
停止位: 停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。
空闲位: 空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。
以上就是关于串口通讯的相关知识分享,想了解、学习更多技术开发知识干货,欢迎大家持续关注本公众号,将不定期为大家分享开发过程的各类干货。
-END-