vb控件mscomm串口通讯实例教程

vb控件mscomm串口通讯实例教程

ID:10233678

大小:38.00 KB

页数:6页

时间:2018-06-12

vb控件mscomm串口通讯实例教程_第1页
vb控件mscomm串口通讯实例教程_第2页
vb控件mscomm串口通讯实例教程_第3页
vb控件mscomm串口通讯实例教程_第4页
vb控件mscomm串口通讯实例教程_第5页
资源描述:

《vb控件mscomm串口通讯实例教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符      现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符均发送11位ASCII码,一个起始位。在VB中与串口通讯需要引入控件MSComm串口通讯控

2、件(在MicrosoftCommControl6.0中)。具体程序如下:控件简称:MSCDimOut(12)AsByte'接收var中的值DimvarAsVariant'接收MSC.input中的数值DimnReceAsInteger'计算MSC.inputbuffer的个数DimiAsInteger,jAsInteger'随即变量,计算循环****************************************************************************PrivateSubForm_Load

3、() ClearText WithMSC  .CommPort=1'设置Com1为通信端口  .Settings="9600,E,7,2"'设置通信端口参数9600赫兹、偶校验、7个数据位、2个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。  含义是:B:BaudRate(波特率);P:Parity(奇偶);D:DataBit;S:StopBit)  .InBufferSize=40'设置缓冲区接收数据为40字节  .InputLen=1'设置Input一次从接收缓冲读取字节数为1  .RThre

4、shold=1'设置接收一个字节就产生OnComm事件 EndWithEndSub****************************************************************************PrivateSubClearText() Text3.Text="" Text2.Text="5" Text1.Text=""EndSubPrivateSubCommand1_Click() ClearText 'nRece=0'计数器清零 WithMSC  .InputMode=comInput

5、ModeBinary'设置数据接收模式为二进制形式  .InBufferCount=0'清除接收缓冲区  IfNot.PortOpenThen   .PortOpen=True'打开通信端口  EndIf EndWithEndSubPrivateSubMSC_OnComm() DelayTime‘用来延续时间 ClearText WithMSC  SelectCase.CommEvent'判断通信事件  CasecomEvReceive:'收到Rthreshold个字节产生的接收事件   SwichVar1   IfOut(1)

6、=2Then'判断是否为数据的开始标志    .RThreshold=0'关闭OnComm事件接收   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(

7、nRece)   .RThreshold=1'打开MSComm事件接收  CaseElse   '.PortOpen=False  EndSelect EndWithEndSub****************************************************************************PrivateSubDelayTime() DimbDTAsBoolean DimsPreviousAsSingle,sLastAsSingle bDT=True sPrevious=Timer(Time

8、r可以计算从子夜到现在所经过的秒数,在MicrosoftWindows中,Timer函数可以返回一秒的小数部分) DoWhilebDT  IfTimer-sPrevious>=0.3ThenbDT=False Loop bDT=TrueEndSub(通信传输速率

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。