当前位置:
工控论坛
> >
产品
>
工业互联
>
无线通讯
我要发帖
VB的MScomm控件如何在多机通信中设置第九位?
点击:
1535
| 回复:
4
daoguang25
关注
私信
精华:1帖
求助:0帖
帖子:8帖 | 6回
年度积分:0
历史总积分:35
注册:2004年4月27日
发表于:2004-05-19 12:29:00
楼主
我现在用VB做串行通信(毕业设计)采用Mscomm控件,上位机怎么发送第九位数据呢? 如果采用settings=9600,8,m,1这样怎么确定发送地址第九位为1呢?EMALI:daoguang25@sina.com 谢谢高手指教! 下面是原理: 单片机多机通信系统是依靠第9位来进行的,主机在发送地址字节时是必须将第9位置1的,发送数据字节时必须将第9位置0。在单片机中有一个可编程的SM2位,当该位被置1时,单片机只能接收第9位为1的数据;当该位被置0时,单片机均能接收第9位为0或1的数据。利用此特性,在多机通信的开始时,主机将自己的SM2位置0,以保证能收到从机发来的任何9位数据,从机将自己的SM2位置1,用以接收主机发来的寻址字节。假设在这个系统中有1个主机和32个从机,开始时所有从机都在侦听主机发来的地址帧,假设主机想访问10号从机,那么主机首先将第9位(TB8位)置1,然后把字节10发出;所有的从机这时候都能收到地址帧10,与自身的编号比较,是10的话可以通信!
分享到:
收藏
邀请回答
回复楼主
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2004-05-20 15:43:00
1楼
010-63331035
回复
引用
举报
YaoWX
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 2回
年度积分:0
历史总积分:58
注册:2002年5月16日
发表于:2004-06-16 11:51:00
2楼
9600,8,m,1 第9位为1 9600,8,s,1 第9位为0 使用时切换即可。
回复
引用
举报
valon_zhou
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 1回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2008-07-07 20:44:33
3楼
请问如何把二进制转换为十进制,发送到上位机显示呢?用数组吗?有没有别的方法?
回复
引用
举报
中原龙
关注
私信
精华:0帖
求助:0帖
帖子:9帖 | 831回
年度积分:0
历史总积分:1291
注册:2007年7月09日
发表于:2008-07-28 16:02:25
4楼
学习一下。。。。。。。。。。。。
回复
引用
举报
热门招聘
相关主题
CTSOFT 软件为什么不能连接
[1406]
关于CAN总线中COB-ID,Can-ID...
[2382]
急救啊!!:关于LIN总线的问题...
[1743]
wincc和plc的以太网连接问题...
[1427]
做DP从站的朋友请进来(最好是...
[1577]
求助:有没有熟悉longwork总线...
[1389]
帮讲解一下GSD文件和EDS文件...
[3412]
DEVICENET 现场总线 中文协议...
[2171]
Modbus/TCP串口服务器
[1703]
LonWorks: 布什上了一堂课
[2186]
官方公众号
智造工程师
客服
小程序
公众号