下载后可任意编辑Visual Basic 串口通讯调试方法 现有电子秤一台,使用串口与计算机进行通讯。编写 VB 程序来访问串口,达到读取电子秤上显示的数据。该电子秤为 BE01 型仪表,输出为 RS-232C 标准接口,波特率为300-9600、偶校验、7 个数据位、2 个停止位。所有字符均发送 11 位 ASCII 码,一个起始位。在 VB 中与串口通讯需要引入控件 MSComm 串口通讯控件(在 Microsoft Comm Control 6.0 中)。具体程序如下:控件简称:MSC Dim Out(12) As Byte '接收 var 中的值Dim var As Variant '接收 MSC.input 中的数值Dim nRece As Integer '计算 MSC.inputbuffer 的个数Dim i As Integer, j As Integer '随即变量,计算循环****************************************************************************Private Sub Form_Load() ClearText With MSC .CommPort = 1 '设置 Com1 为通信端口 .Settings = "9600,E,7,2" '设置通信端口参数 9600 赫兹、偶校验、7 个数据位、1 个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。 含义是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit) .InBufferSize = 40 '设置缓冲区接收数据为 40 字节 .InputLen = 1 '设置 Input 一次从接收缓冲读取字节数为 1 .RThreshold = 1 '设置接收一个字节就产生 OnComm 事件 End WithEnd Sub****************************************************************************Private Sub ClearText() Text3.Text = "" Text2.Text = "5" Text1.Text = ""End SubPrivate Sub Command1_Click() ClearText ' nRece = 0 '计数器清零 With MSC .InputMode = comInputModeBinary '设置数据接收模式为二进制形式下载后可任意编辑 .InBufferCount = 0 '清除接收缓冲区 If Not .PortOpen Then .PortOpen = True '打开通信端口 End If End WithEnd SubPrivate Sub MSC_OnComm() DelayTime ‘用来延续时间 ClearText With MSC Select Case .CommEvent '推断通信事件 Case comEvReceive: '收到 Rthreshold 个字节产生的接收事件 SwichVar 1 If Out(1) = 2 Then '推断是否为数据的开始标志 .RThreshold = 0 '关闭 OnComm 事件接收 End If Do DoEvents Loop Until .In...