码迷,mamicode.com
首页 > 其他好文 > 详细

错误检测(1)可靠的数据传输

时间:2019-01-06 20:04:53      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:大写   you   17.   fine   input   图片   运算   没事   操作   

本节将演示由于发送方和接收方不能同步时钟所引起的问题:

 

Parity 奇偶校验位

Checksum 校验和

CRC error detection 循环冗余校验(Cyclic Redundancy Check)

 

发送数据的稳定性是依靠error detect 和 error correct 来保证的

 

Non-return-tozero 不归零编码:

技术分享图片

low就发0 high就发1

 

 

transmiter

receiver

 

Arduino

技术分享图片

 

5v 电压 led接入d3

技术分享图片

 

 

 &和 | 既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。

>> 右移运算符

 

技术分享图片

 

 

接上示波器

技术分享图片

 

再重新传送数据:

技术分享图片

 

 

看一下1s内发的数据:

 技术分享图片

 

技术分享图片

 

100 1000 (大写字母H的ASCII编码

可以看出这里少了一个bit 这里只有七位

所以再相左一点点就可以找到这个字节

这个字节是 0100 1000

 

下一个字节是0110 0101 是e(我们要发hello world。。。

技术分享图片

 

下一个字节是 0110 1100

 

技术分享图片

 

接了一个LCD面板: (d4 d5 d6 d7 just four of the data pins

技术分享图片

 

技术分享图片

 

然后骚操作 安了一个液晶的库

 

技术分享图片

 

 

然后开始编码(define the pins we using

技术分享图片

 

技术分享图片

 

技术分享图片

 

技术分享图片

 

 技术分享图片

 

这个操作

 

技术分享图片

 

就是输出完之后就输出空白

 

技术分享图片

技术分享图片

 

技术分享图片

 

Now we build sth with NRZ encoding

 

 技术分享图片

 

Receiver也做好了

技术分享图片

 

开始编码:

 

 技术分享图片

(pin3 设置为input)

 

技术分享图片

 

继续

 

 技术分享图片

 

。。。

接上:

 

 技术分享图片

 

看一下结果:

 

技术分享图片

 

(开始还行 但是传着传着就出现乱码了

 

检查一下,transmitter 和 receiver的都是200ms读/写一次

 

我们把这个delay改小一点,改成198吧

技术分享图片

(结果又乱码了

 

Receiver换成196

技术分享图片

 

 

技术分享图片

 

 

(基本都没事了,但是最后一个字符还是挂掉了)

 

结论: these delay things is really a bad way to try to synchronize these things .(because you know we really don’t know how much time this processing is going to take

 

通过手动同时按开关的话基本不能可靠的维持同步

 

这就是一个不reliable的communication  因为这些东西最终一开始还是同步的 但是最终会不同步

 

so delay isn’t the right way to ensure…

 

错误检测(1)可靠的数据传输

标签:大写   you   17.   fine   input   图片   运算   没事   操作   

原文地址:https://www.cnblogs.com/eret9616/p/10229980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!