If .PortOpen = False Then '判断通信端口是否打开 .PortOpen = True '打开 If Err Then MsgBox "Open Com Port Error!" 'TXTERR.Caption = "Open Com Port Error!" OpenPort = False On Error GoTo 0 Exit Function End If End If End With OpenPort = True On Error GoTo 0 End Function这里就是给文本框赋值了,这个值就是来自电子秤上面称重得到的重量数据,我没有全部贴出来,因为逻辑关系有点复杂,我怕你看晕了。Private Sub MSComm1_OnComm()
On Error Resume Next
'For i = 0 To 999999: Next Dim recstr As String recstr = "" With MSComm1 Select Case .CommEvent Case comEvReceive recstr = recstr + .Input
怎么用serialport控制当仪表数据发生变化时才变化捏仪表是托利多的金鸟仪表
我以前做过电子秤称重的数据自动发送到PC端,刚开始用的C#里面的serialport,后来觉得还是VB6里面的MSCOMM好用,
private System.IO.Ports.SerialPort serialPort1;
serialPort1.Open();
serialPort1.Write(DataBuffer, 0, sendLen);
serialPort1.Close();
With MSComm1
.CommPort = 1 'Int(TXTCOM.Text) '使用COM2
.Settings = "9600,N,8,1" '设置通信端口参数
.InBufferSize = 40 '设置MSCOMM1接收缓冲区为40字节
.OutBufferSize = 14 '设置MSCOMM1发送缓冲区为2字节
.InputMode = comInputModeText '设置接收数据模式为二进制形式
.InputLen = 8 '设置Input一次从接收缓冲区读取字节数为1
.SThreshold = 14 '设置Output一次从发送缓冲区读取字节数为13
.InBufferCount = 0 '清除接收缓冲区
.OutBufferCount = 0 '清除发送缓冲区
.RThreshold = 8 '设置接收8个字节产生这个事件
On Error Resume Next
Err.Clear
If .PortOpen = False Then '判断通信端口是否打开
.PortOpen = True '打开
If Err Then
MsgBox "Open Com Port Error!"
'TXTERR.Caption = "Open Com Port Error!"
OpenPort = False
On Error GoTo 0
Exit Function
End If
End If
End With
OpenPort = True
On Error GoTo 0
End Function这里就是给文本框赋值了,这个值就是来自电子秤上面称重得到的重量数据,我没有全部贴出来,因为逻辑关系有点复杂,我怕你看晕了。Private Sub MSComm1_OnComm()
On Error Resume Next
'For i = 0 To 999999: Next
Dim recstr As String
recstr = ""
With MSComm1
Select Case .CommEvent
Case comEvReceive
recstr = recstr + .Input
If Trim(Me.Text1.Text) = "" Then
recstr = recstr + .Input
Me.Text1.Text = Replace(Replace(Replace(Me.Text1.Text + recstr, "+", ""), "S", ""), "G", "")
我本来不是搞VB的,所以那代码写的有点乱,你将就看一下,现在的效果就是用户将一个产品放到电子秤上面,这个时候电子秤上面的数据会不停的闪动,
当这个重量稳定以后就不会再继续闪了,这个时候PC端的程序就接收到这个数据了,你试试吧。