【经验分享】串口知识小总结
一、串口是常用的设备通信协议,串口按照位(bit)发送和接收字节。串口通信时,收发是一个周期一个周期进行的,每周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元是由:起始位+数据位+奇偶校验位+1停止位 组成的。
1、起始位表示发送方要开始一个通信单元:数据位是一个通信单元中发送的有效信息位;奇偶校验位是用来校验数据位,以防止数据位出错的;停止位是发送方用来表示本通信单元结束标志的。
2、起始位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。
3、数据位是本次通信真正要发送的有效数据,串口通信一次发送多少位有效数据是可以设定的(一般可选的有6、7、8、9,99%情况下我们都是选择8位数据位。因为我们一般通过串口发送的文字信息都是ASCII码编码的,而ASCII码中一个字符刚好编码为8位。)
4、奇偶校验位是用来给数据位进行奇偶校验(把待校验的有限数据逐个位的加起来,总和为奇数奇偶校验位就为1,总和为偶数奇偶校验位就为0)的,可以在一定程度上防止位反转。
可以用来判断是否存在噪音干扰数据传输,以及是否有不同步。
5、停止位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。常见的有1位停止位,1.5位停止位,2位停止位等。99%情况下都是用1位停止位。
6、波特率:指数据信号对载波的调制速率。2400bit表示每秒发送2400bit,和距离成反比。
7、数据流控制:台式机和单片机之间的通信,如果缓冲区慢了,继续接收数据,会造成数据丢失。分为软件流控制和硬件流控制,比如硬件流控制就是如果接收端准备好接收数据,CTS为1,否则为0.发送端准备好发送,RST为1,否则为0.
二、串口可以使用一根线发送数据的同时,用一根线接收,其他线用来握手,但是非必须。我们在串口和SoftRadio之间传输数据就需要遵守串口通信协议,串口通信时因为是异步通信,所以通信双方必须事先约定好通信参数,这些通信参数包括:波特率、数据位、奇偶校验位、停止位(串口通信中起始位定义是唯一的,所以一般不用选择)。
- 点赞
- 收藏
- 关注作者
评论(0)