打印

请教串行传送的奇偶校验问题

[复制链接]
2101|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjgtan|  楼主 | 2009-12-2 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jerkoh| | 2009-12-2 11:23 | 只看该作者
MOV A , @R0;取一个数据;  前提是SMOD 设置了9位

MOV C,P; 奇校验          偶校验不取反

CPL C;


MOV TB8, C; 装入校验位;  ;TB8 第九位 奇偶位的值

MOV SBUF, A; 发送;         ;此时就是8bit 加1bit 的值 装载好了
代码如上,为啥可以进行奇校验啊?     因为51就是这么规定可以发送奇偶校验的

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
zjgtan + 1
板凳
zjgtan|  楼主 | 2009-12-2 11:58 | 只看该作者
高手啊 2# jerkoh

使用特权

评论回复
地板
xwj| | 2009-12-2 12:39 | 只看该作者
因为51的内核每次会自动把放入ACC中的数据计算出偶检验,并把结果放入寄存器P中,
所以先把数据放入ACC中,然后取出P,再去翻,就得到奇检验结果了,再放入TB8中,和ACC一起发送出去,就是8位数据+1位奇检验了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

92

帖子

0

粉丝