5.2.3异步串行通信UART(下)

平时是逻辑1,然后会有一个跳0的起始位,然后发送数据,然后校验位然后停止位
在这里插入图片描述
时钟驱动下,传输数据,LSB先发,你看到01100100,从人类角度最后发的最高位,c语言写的是0b00100110,16进制是8421是0x2 421.这个数发出去后,异步时钟驱使下的得到数据、

在这里插入图片描述
在这里插入图片描述
电磁干扰还有电线长后有电容,此时有可能变为10110010这是不对的,现实通讯会遇到这个问题。
在这里插入图片描述
使用过采样避免错误,以一定速度来发送数据,在接收端我用比约定好的波特率快一些速度来看数据。在目前芯片中默认速度是16倍速度来查看接收数据。
会用中间三个bit值,来进行投票,选取采样多的,或者丢弃重传
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
时钟有误差
在这里插入图片描述
在这里插入图片描述
发射1000HZ接受只要950-1050直接就可以了
校验
UART采用奇偶校验
在这里插入图片描述
在这里插入图片描述
奇偶校验不能发现所有错误,两个地方翻转就会无法确认
在这里插入图片描述
人体UART
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39289876/article/details/108970148