打印

通讯问题请教

[复制链接]
1165|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenchuan|  楼主 | 2007-7-5 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!学习8051单片机近2个月了,对于流水灯啊,扫描显示啊,键盘啊,都能看懂程序并在KEIL C 上仿真了,但对点对点通讯及单片机与PC机之间的通讯方面还一直不甚明白,看的书也有几本了,但都是些程序没具体的实例,不明白校验和呀等,不知那位老师能举个简单的例子讲一下,比如发送个3个二进制的信息01001101,00110100,11000110,那他们的校验和是什么呀?是不是把那八位数据和校验和一共是几位一起(组成的是什么数据?)发送呀?那TB8,RB8又要怎么设定呀?能够具体到每一个时钟脉冲时发的是0或者是1都讲一下就再好不过了,谢谢先!!!

C 语言的。

很菜,别叫我看书去啊!!!

相关帖子

沙发
huntington| | 2007-7-5 11:23 | 只看该作者

确实应该去看书

串口每次只发送一个字节,所以你的3个字节是分开发送的

发送每个字节如果选择了奇偶校验的话,TB8,RB8就是就是发送或接收的奇偶校验位

使用特权

评论回复
板凳
wenchuan|  楼主 | 2007-7-5 11:28 | 只看该作者

谢谢二楼

如果就发送一个字节00110101,不用奇偶校验,用校验和,那发出去的二进制数是什么呢?

使用特权

评论回复
地板
huntington| | 2007-7-5 11:37 | 只看该作者

re

发送数据的话,就要看你你的校验和生成算法是什么样的

奇偶校验可以说是硬校验,校验和是软校验,是作为数据发送出去的

使用特权

评论回复
5
wenchuan|  楼主 | 2007-7-5 11:50 | 只看该作者

你的简短的回答比我看几小时书还要好,真的很感谢您!

你的简短的回答比我看几小时书还要好,我就是在书上看pf(校验和)+=d这句后不理解,来问的,是不是这样比如,要发送01101011,那pf就等于5(00000101)然后把它和数据01101011连在一起组成0110101100000101发送出去?

使用特权

评论回复
6
huntington| | 2007-7-5 11:58 | 只看该作者

按你的算法来说

如果发送一个字节 01101011 的话,应该是 01101011 01101011 呀
校验和一般是附在一帧数据的末尾发送的,比如说你上面的一帧数据是有i个字节的,所以总共的数据是 i+1 个字节

使用特权

评论回复
7
gyt| | 2007-7-5 20:29 | 只看该作者

热心人啊

支持一下

使用特权

评论回复
8
huntington| | 2007-7-7 18:48 | 只看该作者

献丑了

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝