串口通信,速度较慢。传送一个字节的数据,需要花费很长的时间。
那么,接收方收到的数据,是否与发送方,发送的数据相同?
在这么长时间中,完全有可能受到干扰,导致数据错误。
为什么要使用奇偶检验?
在这种条件下,就需要在数据之后,发送一个“校验位”。
接收方接收数据之后,也生成一个校验位。
然后比较两个校验位,是否相同,由此即可判断本次传输是否正确。
怎么使用奇偶检验?
你只要设置一下,即可。
校验位的生成、检验,都由硬件完成,你就不必 *** 心了。
奇偶校验中,会有奇数个 1、偶数个 1 的区别。
这些,都不是你所需要考虑的。
校验位是 1 是 0,你都不用费心,硬件会自己处理的。
串口通信设置奇偶校验的目的是检验接收的数据是否正确。接收的奇偶校验位,如果与发送的校验位相同,说明接收的数据是正确的。因串口通信是异步的,为了校验接收是否正确,通常要采用各种校验方法,其中奇偶校验是比较简单的方法,而比较可靠但却比较麻烦的是CRC16方法。
我想设置发射端为奇校验,----
把 PSW 中的 P,取反后,放在 TB8,发送出去,就是奇校验。
======
接收端为偶校验,
----
接收后,对 RB8 和 P,进行比对,就是偶校验。
======
追问:我不是问如何实现奇偶校验,我是问如何设置奇校验或者偶校验……
51 单片机,没有这个设置的功能,只能自己编程,实现奇、偶校验。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)