串口数据波形显示软件论文报告_一文看懂,用示波器查看串口UART的波形,什么是数据位、起始位、奇偶校验位...

先介绍一些概念。

起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。

校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。 (字符‘A’的二进制是 0100 0001)

  1. 当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。

  2. 当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 

此位还可以去除,即不需要奇偶校验位。 停止位:它是一帧数据的结束标志。可以是1bit、1.5bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生产此uart信号时用两个波形点来表示一个bit。这个可以不必深究。。。 

空闲位:没有数据传输时线路上的电平状态。为逻辑1。 
传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”(字符‘A’的二进制是 0100 0001)

如果是MSB那么就是0100 0001(如图-2),如果是LSB那么就是10000010

uart传输数据的顺序就是:刚开始传输一个起始位——传输数据位——校验位(可不需要此位)——停止位。

这样一帧的数据就传输完了。接下来接着像这样一直传送。在这里还要说一个参数。 
帧间隔:即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间

实验:

用串口工具发送0XD6,即二级制 1101 0110 ,在示波器上如此显示。

串口设置:波特率9600,停止位1位,无奇偶校验位。

在示波器上,最左边一个低电平表示0,起始位;然后依次是0110 1011,正好和发送的数据最高位和最低位反过来。如下图。

这就是所谓的LSB.

________传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输

8506e8da3534d1ec77cefe5f6dde1d9b.png

再来个例子:用串口发送0x75,就是二进制 0111 0101,如下图所示。

串口设置:波特率9600,停止位1位,无奇偶校验位。

同理,最左侧的为起始位,低电平0, 然后LSB传输。1010 1110依次传输到示波器。

15dc9410026b29888a45d6ec791de189.png

第三个例子:用串口发送0x75,就是二进制 0111 0101,

串口设置:波特率9600,停止位1位,奇校验。

奇校验就是要保证这一帧里的所有BIT 有1的数为奇数,0x75已经有5个1了,所以奇偶校验位为0即可。如下图所示。

6aaf4b367a3521522ccec223a3188c57.png

同理,如果为偶校验,那么最后一位应该是高电平1,就会有6个1,以此保证所有的1的数量为偶数。

最后,连发发送两个16进制数据0x75(0111 0101) 0x6B (0110 1011)

串口设置:波特率9600,停止位1位,无奇偶校验位。

144a0c870b1e5431c01a739b0ca0fb9e.png

转自网络侵删

4f2756edc426815c46b5cb440b0cdf17.png

《一文读懂RS-232\RS485及RS422的区别》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值