发信人: whynot (父亲那双破草鞋), 信区: cnElectric
标  题: Re: 急:关于PC机与多个单片机通信的问题
发信站: 哈工大紫丁香 (Sun Nov 28 09:24:54 1999), 转信

发信人: zhwf (11), 信区: Circuit       
发信站: BBS 水木清华站 (Thu Jul 15 22:11:14 1999)

【 在 leap (sweatbaby) 的大作中提到: 】
: 问题之一:
: 偶正在搞多机通信,PC机是主机,其余89C52是从机,公用三线连接,拟以下方案:
: 1. PC机先发地址字节,呼叫从机,然后再发数据字节,与指定地址的从机通信;
: 2. 从机以中断方式接收讯息,辨出PC机呼叫自己时(地址字节),从机才接收以后的数据
: 字节。
: 3. 未被呼叫的从机只监听地址字节(会引发中断),而不理会数据字节(不引发中断)。
: 4. 偶想将PC机的发送格式定为:1start,8data,1mark和1stop。mark = 1表示发送地址
: 字节,否则为数据字节。
: 5. 请问大虾:可否单独控制mark位,如何控制???
: 6. 顺请建议多机通信的其他好方法。
    虽然89C52支持9位数据位的UART工作方式,但据我所知,PC机串口是不支持
9位数据位方式的。在89C52上你可以任意指定第9位,但在PC机上你只能借助于
奇偶校验位来模拟这个第9位,而奇偶校验位是硬件产生的,你不好去直接控制它,
总之会比较麻烦。
    我建议你不如把地址和数据放在一起组合成一个帧,所有从机都接受到
这个帧,并把其中的地址与自己的地址比较,如果相同则做处理,否则不理睬就
完了。这样灵活性比较大,注意帧要有帧头和帧尾,最好再加上校验和。
没有必要象你那样用第9位来区分地址字节和数据字节。
    多机通信的方式很多,看你的要求。如果你的从机数量比较多,通信距离
比较远,还不如用RS-422,如果可以半双工,就用RS-485,两根线就够了,
可以挂32个从机,采用某些驱动器如MAX487最多可挂128个从机。
: 问题之二:XON、XOFF是什么西西??如何实现??
XON/XOFF是一种软件流量控制方式,XON就是ASCII码17(CTRL-Q字符),XOFF
就是ASCII码19(CTRL-S字符),这种方式不适于传输二进制数据的场合。

--
※ 修改:·zhwf 於 Jul 15 22:12:38 修改本文·[FROM:  202.112.149.37]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: ningx.bbs@bbs.net.ts]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.010毫秒