VB的Mscomm控件,上位机怎么发送第九位数据呢 点击:1151 | 回复:0



daoguang25

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 6回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2004年4月27日
发表于:2004-05-19 12:32:00
楼主
我现在用VB做串行通信(毕业设计)采用Mscomm控件,上位机怎么发送第九位数据呢? 如果采用settings=9600,8,m,1这样怎么确定发送地址第九位为1呢?Email: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的话可以通信!


热门招聘
相关主题

官方公众号

智造工程师