【经验分享】串口知识小总结

举报
Lily_w 发表于 2019/11/23 16:29:52 2019/11/23
【摘要】 一、串口是常用的设备通信协议,串口按照位(bit)发送和接收字节。串口通信时,收发是一个周期一个周期进行的,每周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元是由:起始位+数据位+奇偶校验位+1停止位 组成的。1、起始位表示发送方要开始一个通信单元:数据位是一个通信单元中发送的有效信息位;奇偶校验位是用来校验数据位,以防止数据位出错的;停止位是发送方用来表示本通信单元结束标...

串口是常用的设备通信协议,串口按照位(bit)发送和接收字节。串口通信时,收发是一个周期一个周期进行的,每周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元是由:起始位+数据位+奇偶校验位+1停止位  组成的。


1、起始位表示发送方要开始一个通信单元:数据位是一个通信单元中发送的有效信息位;奇偶校验位是用来校验数据位,以防止数据位出错的;停止位是发送方用来表示本通信单元结束标志的。


2、起始位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。


3、数据位是本次通信真正要发送的有效数据,串口通信一次发送多少位有效数据是可以设定的(一般可选的有678999%情况下我们都是选择8位数据位。因为我们一般通过串口发送的文字信息都是ASCII码编码的,而ASCII码中一个字符刚好编码为8位。)


4、奇偶校验位是用来给数据位进行奇偶校验(把待校验的有限数据逐个位的加起来,总和为奇数奇偶校验位就为1,总和为偶数奇偶校验位就为0)的,可以在一定程度上防止位反转。

可以用来判断是否存在噪音干扰数据传输,以及是否有不同步。


5、停止位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。常见的1位停止位,1.5位停止位,2位停止位等。99%情况下都是用1位停止位。


6、波特率:指数据信号对载波的调制速率。2400bit表示每秒发送2400bit,和距离成反比。


7、数据流控制:台式机和单片机之间的通信,如果缓冲区慢了,继续接收数据,会造成数据丢失。分为软件流控制和硬件流控制,比如硬件流控制就是如果接收端准备好接收数据,CTS1,否则为0.发送端准备好发送,RST1,否则为0.

image.png


二、串口可以使用一根线发送数据的同时,用一根线接收,其他线用来握手,但是非必须。我们在串口和SoftRadio之间传输数据就需要遵守串口通信协议,串口通信时因为是异步通信,所以通信双方必须事先约定好通信参数,这些通信参数包括:波特率、数据位、奇偶校验位、停止位(串口通信中起始位定义是唯一的,所以一般不用选择)。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。