
用vb做的串口接收程序,在另一台电脑用串口调试助手给编写该程序的电脑发送时显示 类型不匹配错误“13”
改程序该调试助手发送可以,就是接收不到。附代码:PrivateSubCommand1_Click()IfLen(Text1.Text)=0ThenExitSubDimIA...
改程序该调试助手发送可以,就是接收不到。附代码:
Private Sub Command1_Click()
If Len(Text1.Text) = 0 Then Exit Sub
Dim I As Integer
Dim SendByte() As Byte '定义可变变量
I = Len(Text1.Text)
ReDim SendByte(I - 1)
For I = 0 To UBound(SendByte)
' SendByte(I) = Asc(Mid(Text1.Text, I + 1, 1))
SendByte(I) = Text1.Text
Next
If MSComm1.PortOpen = True Then MSComm1.Output = SendByte
End Sub
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1" '波特率 奇偶校验 数据位数 停止位数
MSComm1.CommPort = 1 '通讯端口号,请根据实际调整
MSComm1.NullDiscard = False '缺省值 Null 字符从端口传送到接收缓冲区
MSComm1.RThreshold = 1 '产生omcomm事件
MSComm1.InputMode = comInputModeText '以2进制取回数据
MSComm1.PortOpen = True '打开通行端口
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case 2
Dim InByte, I As Integer
InByte = MSComm1.Input
For I = 0 To UBound(InByte)
Text2.Text = Text2.Text & Hex(InByte(I)) ' & "&H" & Hex(InByte(I)) & " " '以16进制显示
Next
End Select
End Sub 展开
Private Sub Command1_Click()
If Len(Text1.Text) = 0 Then Exit Sub
Dim I As Integer
Dim SendByte() As Byte '定义可变变量
I = Len(Text1.Text)
ReDim SendByte(I - 1)
For I = 0 To UBound(SendByte)
' SendByte(I) = Asc(Mid(Text1.Text, I + 1, 1))
SendByte(I) = Text1.Text
Next
If MSComm1.PortOpen = True Then MSComm1.Output = SendByte
End Sub
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1" '波特率 奇偶校验 数据位数 停止位数
MSComm1.CommPort = 1 '通讯端口号,请根据实际调整
MSComm1.NullDiscard = False '缺省值 Null 字符从端口传送到接收缓冲区
MSComm1.RThreshold = 1 '产生omcomm事件
MSComm1.InputMode = comInputModeText '以2进制取回数据
MSComm1.PortOpen = True '打开通行端口
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case 2
Dim InByte, I As Integer
InByte = MSComm1.Input
For I = 0 To UBound(InByte)
Text2.Text = Text2.Text & Hex(InByte(I)) ' & "&H" & Hex(InByte(I)) & " " '以16进制显示
Next
End Select
End Sub 展开
3个回答
展开全部
SendByte(I) = Text1.Text
这个Text1.Text是字符型,要转换成Byte
这个Text1.Text是字符型,要转换成Byte
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询