51单片机进行串口通信的时候,如何设置奇校验还是偶校验?

差不多所有的资料上都是直接默认发射端和接收端的校验方式是相同的。请问到底该如何确定校验方式?举个简单的例子,我想设置发射端为奇校验,接收端为偶校验,该怎么做?(我知道这样的设置无法正常工作……)

我想设置发射端为奇校验,
----
把 PSW 中的 P,取反后,放在 TB8,发送出去,就是奇校验。

======

接收端为偶校验,
----
接收后,对 RB8 和 P,进行比对,就是偶校验。

======

追问:我不是问如何实现奇偶校验,我是问如何设置奇校验或者偶校验……

51 单片机,没有这个设置的功能,只能自己编程,实现奇、偶校验。追问

意思是单片机默认的是偶校验?

追答

没有默认的。

只能自己编程,实现奇、偶校验。
====
追问:TB8中的数据为P,怎么会是自己填写?

TB8 中,并不是 P。
TB8,在复位后,其内容是 0。

如果是 P,只能是你编程,把 P 送到了 TB8。

追问

可以加我不,还有点问题想问,446080833

追答

从不用QQ。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-08-03
首先你需要设置串口工作模式为2或3
其次,你将SCON中的TB8设置为1或0来确定是奇校验或偶校验。追问

TB8中的数据为P,怎么会是自己填写?

追答

你可以将PSW的P位送给TB8,也可以自己设置TB8

本回答被网友采纳
第2个回答  2017-08-03
如果非常设置奇偶校验,收/发两端必须一致。而你的要求收/发两端不一致,为什么?做不到,是想和谁过不去吗?这么做目的是什么?
而用单片机实现奇偶校验,必须要写程序实现,并不是设置的。至于是采用什么校验,无所谓,想用什么都可以。
只有在电脑上是可以设置的。你的想法很独特,但却是无法做到。既然你知道无法正常工作,还要这么做,有点瞎闹吧。
第3个回答  2013-07-31
可以用第9位数据位作奇偶检验位,例如发送一字节若这字节为奇检验位则将第9位数据位置一这样在另一单片机接收时判断第9位数据位为一时才接收就能完成奇检验。追问

我不是问如何实现奇偶校验,我是问如何设置奇校验或者偶校验……

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网