欢迎来到天天文库
浏览记录
ID:39618154
大小:15.85 KB
页数:4页
时间:2019-07-07
《新单片机与VB通讯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualBasic串口通讯调试方法[日期:2008-01-27][来源:网络作者:佚名][字体:大中小](投递新闻)现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符均发送11位ASCII码,一个起始位。在VB中与串口通讯需要引入控件MSComm串口通讯控件(在MicrosoftCommControl6.0中)。具体程序如下:控件简称:MSCDimOut(1
2、2)AsByte’接收var中的值DimvarAsVariant’接收MSC.input中的数值DimnReceAsInteger’计算MSC.inputbuffer的个数DimiAsInteger,jAsInteger’随即变量,计算循环****************************************************************************PrivateSubForm_Load() ClearText WithMSC .CommPort=1’设置Com1为通信端口 .Se
3、ttings="9600,E,7,2"’设置通信端口参数9600赫兹、偶校验、7个数据位、1个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。 含义是:B:BaudRate(波特率);P:Parity(奇偶);D:DataBit;S:StopBit) .InBufferSize=40’设置缓冲区接收数据为40字节 .InputLen=1’设置Input一次从接收缓冲读取字节数为1 .RThreshold=1’设置接收一个字节就产生OnComm事件 EndWithEndSub*******
4、*********************************************************************PrivateSubClearText() Text3.Text="" Text2.Text="5" Text1.Text=""EndSubPrivateSubCommand1_Click() ClearText ’nRece=0’计数器清零 WithMSC .InputMode=comInputModeBinary’设置数据接收模式为二进制形式 .InBufferCount=0’清除
5、接收缓冲区 IfNot.PortOpenThen .PortOpen=True’打开通信端口 EndIf EndWithEndSubPrivateSubMSC_OnComm() DelayTime‘用来延续时间 ClearText WithMSC SelectCase.CommEvent’判断通信事件 CasecomEvReceive:’收到Rthreshold个字节产生的接收事件 SwichVar1 IfOut(1)=2Then’判断是否为数据的开始标志 .RThreshold=0’关闭OnCom
6、m事件接收 EndIf Do DoEvents LoopUntil.InBufferCount>=3’循环等待接收缓冲区>=3个字节 ’nRece=nRece+1 Fori=2To12 SwichVari Text1.Text=Text1.Text&Chr(Out(i)) Next Text1.Text=LTrim(Text1.Text) Text2.Text=Text2.Text&CStr(nRece) .RThreshold=1’打开MSComm事件接收 CaseE
7、lse ’.PortOpen=False EndSelect EndWithEndSub****************************************************************************PrivateSubDelayTime() DimbDTAsBoolean DimsPreviousAsSingle,sLastAsSingle bDT=True sPrevious=Timer(Timer可以计算从子夜到现在所经过的秒数,在MicrosoftWindows中,Tim
8、er函数可以返回一秒的小数部分) DoWhilebDT IfTimer-sPrevious>=0.3ThenbDT=False Loop bDT=TrueEndSub(通信传输速率为9600bps,则最快速度1.04ms发送一个字节,仪表每秒发送50帧数据,每帧数据有4个字节,即每秒发送
此文档下载收益归作者所有