打印

串口资料的无奈

[复制链接]
1882|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
czha1|  楼主 | 2008-3-16 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于ATMEL51单片机串行通讯中的接收位RB8
余永全的《ATMEL89系列单片机应用技术》描述是:如果在接收前定义了
SM2=1,则接收机在接收到停止位后会对RB8进行检测;如RB8=1,则串行口
向CPU发出中断请求,请求对SBUF中的数据进行处理;如RB8=0,则数据不于
接收;如定义了SM2=0,则收到的数据不管RB8为何值都予以接收处理。

其他参考书中为何在接收串行通讯中还要对数据RB8进行检测。
现在出的单片机书可谓五花八门,没有几本书能例出正确的程序。
既然RB8在定义了SM2=1时有硬件自动对RB8进行检测。在软件中再对
RB8进行检测不是多此一举吗,反而搞得读者糊涂。

这几天搞多机通讯,书倒好几本,没多少写的明白的。实例也不能运行。
自己只能先写地址,再检查应答。再发送数据一步一步试,照书上的。
搞不了

相关帖子

沙发
mohanwei| | 2008-3-16 14:31 | 只看该作者

看单片机的数据手册。

使用特权

评论回复
板凳
XZL| | 2008-3-16 14:39 | 只看该作者

呵呵,是你自己也有问题

通讯模式也与RB8有关

使用特权

评论回复
地板
windymeng| | 2008-3-16 14:44 | 只看该作者

这我也不懂

使用特权

评论回复
5
czha1|  楼主 | 2008-3-16 15:49 | 只看该作者

肯定是说通讯方式2和3

多机通讯我肯定是说通讯方式2和3了。
如果其他我好几本书,不可能看不出来。
通讯方式0只能当移位输出

使用特权

评论回复
6
孤星119| | 2008-3-16 17:49 | 只看该作者

并不矛盾.

硬件自动处理是在SM2=1;而SM2=0时怎么办?当然要软件处理啊.主要用与多机通讯时,判断此次数据是地址帧还是数据帧.一般可以这么做:
开始各端点SM2=0时,全部接受,接受到数据后判断RB8是否为1(地址帧为1数据帧为0),如果RB为1,表示此次接受为地址帧,可以与自己的身份地址比较,如果不是就可以设置SM2=1,这样接下来发送数据帧(TB为0)都被自动丢弃了.

使用特权

评论回复
7
孤星119| | 2008-3-16 17:51 | 只看该作者

lz只要写过通讯协议的估计都能明白.

使用特权

评论回复
8
xwj| | 2008-3-17 08:51 | 只看该作者

1、先搞清楚硬件过滤和软件过滤的区别,2、你自己设计的话

别人的程序不一致时就别去看程序,自己先把方法想好,想周全,自然就会编了

使用特权

评论回复
9
AIRWILL| | 2008-3-17 20:28 | 只看该作者

是啊,现在是五花八门

要做程序, 最后还得"小马过河"哪

使用特权

评论回复
10
czha1|  楼主 | 2008-3-18 10:59 | 只看该作者

调通了

多机通讯初步程序调通了。
很多东西只能自己弄。
先弄本250书参考。分析一下逻辑。

使用特权

评论回复
11
wxj1952| | 2008-3-18 13:51 | 只看该作者

看知名教授写的书。孙涵芳,徐爱卿。

现在出的单片机的书大多为草,很多是作者自费印的。也不管是否别人已经写过了,是否比自己写得更好,反正必须要出,不出评不上职称。评教授/副教授的基本条件就是要求在国内外有影响的出版刊物上出过书刊或论文。写别人没写过的?有能力吗?我留校同学说“中国有几个人能写别人没写过的,我只能干这个”。

    所以,还是看看老老师写的单片机的书,看一本胜过现在的10本。
    一般1990年以前出的单片机的书都是精华,那个时代的教授是真正做学问的,没有利益驱动。那时出的单片机的书看一本就够了:

    孙涵芳,徐爱卿 《MCS-51系列单片机的原理与应用》1988年 北航出版社

  SM2——模式2和3下多机通信使能位。

对于从站,只有 SM2 && RB8=TURE,才可能触发地址帧到达事件中断。(其他都无反应)。
   SM2 && (TB8+RB8)——当SM2置位时,是地址/数据标识位。
                       当SM2清0时,可以是奇偶校验位。

很清楚,没什么模糊概念。

使用特权

评论回复
12
computer00| | 2008-3-18 15:21 | 只看该作者

最好的还是看数据手册吧

使用特权

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

本版积分规则

25

主题

103

帖子

1

粉丝