VB的MSCOMM控件设备如何设置第 9 位的功能? 点击:1532 | 回复:3



daoguang25

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 6回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2004年4月27日
发表于:2004-05-19 12:13:00
楼主
我现在在做毕业设计,主要是串行通信,用到VB的Mscomm控件,请问一下各位工程师,MScomm怎么设置第九位的校验,下位机是485连接的N台单片机,上位机首先发送地址,采用模式3,MScomm1.settings="9600,8,M,1"怎么在上位机设置第九位呢! 大致的原理如下: 片机多机通信系统是依靠第9位来进行的,主机在发送地址字节时是必须将第9位置1的,发送数据字节时必须将第9位置0。在单片机中有一个可编程的SM2位,当该位被置1时,单片机只能接收第9位为1的数据;当该位被置0时,单片机均能接收第9位为0或1的数据。利用此特性,在多机通信的开始时,主机将自己的SM2位置0,以保证能收到从机发来的任何9位数据,从机将自己的M2位置1,用以接收主机发来的寻址字节。假设在这个系统中有1个主机32个从机,开始时所有从机都在侦听主机发来的地址帧,假设主机想访问10号从机,那么主机首先将第9位(TB8位)置1,然后把字节10发出;所有的从机这时候都能收到地址帧10,然后和自己的地址比较,当非10号从机发现该地址帧不是呼叫自己时(与自己的地址不符)什么也不做继续等待接收地址帧,当10号从机发现呼叫的是自己时则将SM2位置0以接收主机随后发来的所有9位数据,而在10号从机接收后续第9位为0的数据字节时其他从机是收不到该数据字节的,这样在这一时刻就造成了主机和10号从机“单独”通信的现像。



minwei

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2004年5月10日
发表于:2004-06-07 10:30:00
1楼
现在你做好了吗?

daoguang25

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 6回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2004年4月27日
发表于:2004-06-12 13:31:00
2楼
地址能发出去了啊! 就差接收数据了阿~好像是下位机的问题! 礼拜一高手给我调试阿~ 估计应该没有问题啊!

wn125

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2006年1月01日
发表于:2006-01-17 09:57:00
3楼

热门招聘
相关主题

官方公众号

智造工程师