Dim data1 As StringPrivate Sub Check1_Click()
Dim wendu As Integer
wendu = CInt("&H" & Text1.Text) '十六转换十进制(就是这里类型不匹配)
Text1.Text = CStr(wendu)
End SubPrivate Sub Command1_Click()
Dim gb As String '设关机协议变量
gb = "c"
MSComm1.Output = gb '发送强制关机协议
End SubPrivate Sub Command2_Click()
Dim kj As String '设开机协议变量
kj = "b"
MSComm1.Output = kj '发送强制开机协议
End SubPrivate Sub Command3_Click()
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '判断串口是否打开
Dim xieyi As String '设置协议变量
MSComm1.InputLen = 1 '每次读入一个字符
MSComm1.RThreshold = 1 '每读入5个字符触发OnComm事件一次
xieyi = Text4.Text '将协议给变量
MSComm1.Output = xieyi '发协议
End SubPrivate Sub MSComm1_OnComm()If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '判断串口是否打开
data1 = MSComm1.Input '读入数据Text1.Text = data1
End Sub
Dim wendu As Integer
wendu = CInt("&H" & Text1.Text) '十六转换十进制(就是这里类型不匹配)
Text1.Text = CStr(wendu)
End SubPrivate Sub Command1_Click()
Dim gb As String '设关机协议变量
gb = "c"
MSComm1.Output = gb '发送强制关机协议
End SubPrivate Sub Command2_Click()
Dim kj As String '设开机协议变量
kj = "b"
MSComm1.Output = kj '发送强制开机协议
End SubPrivate Sub Command3_Click()
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '判断串口是否打开
Dim xieyi As String '设置协议变量
MSComm1.InputLen = 1 '每次读入一个字符
MSComm1.RThreshold = 1 '每读入5个字符触发OnComm事件一次
xieyi = Text4.Text '将协议给变量
MSComm1.Output = xieyi '发协议
End SubPrivate Sub MSComm1_OnComm()If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '判断串口是否打开
data1 = MSComm1.Input '读入数据Text1.Text = data1
End Sub
wendu = Val("&H" & Text1.Text)
wendu = Val("&H" & Text1.Text)
Text2.Text = wendu
LZ:如果你在Text1文本框内输入0000-FFFF,以下代码出现乱吗,只能是你VB或系统的问题:
Private Sub Command1_Click()
Dim wendu As Integer
wendu = Val("&H" & Text1.Text)
Text2.Text = wendu
End Sub
Option Explicit
Dim strData As String
Private Sub Command1_Click()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '以2进制接收
MSComm1.PortOpen = True
End SubPrivate Sub Command2_Click()
MSComm1.PortOpen = False
End SubPrivate Sub MSComm1_OnComm()
Dim inByte() As Byte
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
inByte = MSComm1.Input
For i = 0 To UBound(inByte)
If Len(Hex(inByte(i))) = 1 Then
strData = strData & "0" & Hex(inByte(i))
Else
strData = strData & Hex(inByte(i))
End If
Next
Text1.Text = strData
'以下写符合通信协议规定的判断代码处理接收数据
End Select
End Sub