你好:我用VB写一个与电子秤(XK3190-a9)的通讯程序,想读取仪表显示的数据,但每次运行时,就会死机。
我说的死机不是电脑死机,是VB运行状态卡死,不显示数据,但偶尔一次会正常显示,我用串口调试软件调试,数据正常接收,没有问题,我用的是串口转USB与笔记本连接的,不知道跟这...
我说的死机不是电脑死机,是VB运行状态卡死,不显示数据,但偶尔一次会正常显示,我用串口调试软件调试,数据正常接收,没有问题,我用的是串口转USB与笔记本连接的,不知道跟这个有没有关系。下面是我的代码:
ption Explicit
Dim strData As String
Private Sub Form_Load()
MSComm1.Settings = "1200,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
End Sub
Private Sub mscomm1_OnComm()
Dim strRe As String
Select Case Me.MSComm1.CommEvent
Case comEvReceive
strRe = Me.MSComm1.Input
strData = strData & strRe
Dim xsws As Integer
'未考虑第10及11字节异或校验
If Mid(strData, 1, 1) = Chr(2) And Mid(strData, 12, 1) = Chr(3) Then '数据判断
xsws = Val(Mid(strData, 9, 1)) '取小数位数
Text1 = Val(Mid(strData, 2, 10)) / (10 ^ xsws) '输出到文本框
strData = ""
End If
End Select
End Sub
希望帮忙解决 展开
ption Explicit
Dim strData As String
Private Sub Form_Load()
MSComm1.Settings = "1200,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
End Sub
Private Sub mscomm1_OnComm()
Dim strRe As String
Select Case Me.MSComm1.CommEvent
Case comEvReceive
strRe = Me.MSComm1.Input
strData = strData & strRe
Dim xsws As Integer
'未考虑第10及11字节异或校验
If Mid(strData, 1, 1) = Chr(2) And Mid(strData, 12, 1) = Chr(3) Then '数据判断
xsws = Val(Mid(strData, 9, 1)) '取小数位数
Text1 = Val(Mid(strData, 2, 10)) / (10 ^ xsws) '输出到文本框
strData = ""
End If
End Select
End Sub
希望帮忙解决 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询