关于51单片机的奇偶校验~~小弟菜鸟

用串口调试助手咋看出有没有错误呀
有错误的话他会怎么样~~
我故意吧TB8光设为一~~按说传好多数肯定有错误~~但是他还是一个个的传

第1个回答  2011-06-15

呵呵,在这两条指令的前后,你各忽略了一条指令。请看下列程序及说明:

MOV A, #待发数据 ;数据进了A,即刻生成校验位P
MOV C, P
MOV TB8, C ;校验位送到TB8
MOV SBUF, A ;发送数据,以及P

上述写法,是偶校验。奇校验,需要增加一条取反指令,如下:

MOV C, P
CPL C
MOV TB8, C ;校验位送到TB8

就这些。追问

用c语言呢~~先对TB8赋值 再向SBUF写值
while(1)
{ t++;
Delay1ms(500);
TB8=1; //对TB8附一 不做奇偶校验
SBUF=t; //循环发送至串口数字从00-FF
while(!TI);
TI=0;
}
}
这样有什么错没

第2个回答  2011-06-14
串口调试助手只要将奇偶校验,波特率设置成和单片机一样就可以通讯了
如果有一点没设好串口调试助手将没有显示
和单片机通讯时要注意串口调试助手的显示模式是16进制还是ASCII码的追问

传错时会显示啥呀~~我现在传数是正常的~~但是怎么能发现有没有错呀
奇偶校验就跟没有用似的~~对TB8附一个定值~~但是传的数是变的~~
比如::::将TB8设为 1
传从0到255这些数~~肯定有一半是错误的丫~~
但是串口调试助手上还是接收到了0到255呢

追答

奇偶校验不是校验你传输内容是奇数还是偶数。它是一种防止数据在传输过程中发生错误的技术。和你的传输内容无关

本回答被网友采纳
第3个回答  2011-06-15
tb8光?追问

就是只把TB8设为1

相关了解……

你可能感兴趣的内容

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