电子秤使用串口与计算机进行通讯

电子秤使用串口与计算机进行通讯

ID:10009989

大小:30.50 KB

页数:4页

时间:2018-05-20

电子秤使用串口与计算机进行通讯_第1页
电子秤使用串口与计算机进行通讯_第2页
电子秤使用串口与计算机进行通讯_第3页
电子秤使用串口与计算机进行通讯_第4页
资源描述:

《电子秤使用串口与计算机进行通讯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BE01型仪表通讯编程 现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符均发送11位ASCII码,一个起始位。在VB中与串口通讯需要引入控件MSComm串口通讯控件(在MicrosoftCommControl6.0中)。具体程序如下:控件简称:MSCDimOut(12)AsByte'接收var中的值DimvarAsVariant'接收MSC.input中的数值DimnReceAsInteger'计算MSC.inp

2、utbuffer的个数DimiAsInteger,jAsInteger'随即变量,计算循环****************************************************************************PrivateSubForm_Load() ClearText WithMSC  .CommPort=1'设置Com1为通信端口  .Settings="9600,E,7,2"'设置通信端口参数9600赫兹、偶校验、7个数据位、1个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。  含义是:B:BaudRate

3、(波特率);P:Parity(奇偶);D:DataBit;S:StopBit)  .InBufferSize=40'设置缓冲区接收数据为40字节  .InputLen=1'设置Input一次从接收缓冲读取字节数为1  .RThreshold=1'设置接收一个字节就产生OnComm事件 EndWithEndSub****************************************************************************PrivateSubClearText() Text3.Text="" Text2.Text="5" Text1.Tex

4、t=""EndSubPrivateSubCommand1_Click() ClearText 'nRece=0'计数器清零 WithMSC  .InputMode=comInputModeBinary'设置数据接收模式为二进制形式  .InBufferCount=0'清除接收缓冲区  IfNot.PortOpenThen   .PortOpen=True'打开通信端口  EndIf EndWithEndSubPrivateSubMSC_OnComm() DelayTime‘用来延续时间 ClearText WithMSC  SelectCase.CommEvent'判断通信事件

5、  CasecomEvReceive:'收到Rthreshold个字节产生的接收事件   SwichVar1   IfOut(1)=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(T

6、ext1.Text)   Text2.Text=Text2.Text&CStr(nRece)   .RThreshold=1'打开MSComm事件接收  CaseElse   '.PortOpen=False  EndSelect EndWithEndSub****************************************************************************PrivateSubDelayTime() DimbDTAsBoolean DimsPreviousAsSingle,sLastAsSingle bDT=True sPrev

7、ious=Timer(Timer可以计算从子夜到现在所经过的秒数,在MicrosoftWindows中,Timer函数可以返回一秒的小数部分) DoWhilebDT  IfTimer-sPrevious>=0.3ThenbDT=False Loop bDT=TrueEndSub(通信传输速率为9600bps,则最快速度1.04ms发送一个字节,仪表每秒发送50帧数据,每帧数据有4个字节,即每秒发送200个字节,平均5.0ms发送一个字节,连续读取串口数据时要在程序中添加循环等待程序)Priv

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

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

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