VB串口通信接收不到数据

PrivateSubCommand3_Click()MSComm1.PortOpen=FalseEndEndSubPrivateSubCommand2_Click()Di... Private Sub Command3_Click()MSComm1.PortOpen = False
End
End Sub
Private Sub Command2_Click()
Dim buf$
buf = Trim(MSComm1.Input)
If Len(buf) = 0 Then
Text2.Text = "Empty"
Else
Text2.Text = buf
End If
End Sub
Private Sub Command1_Click()
MSComm1.Output = Trim(Text1.Text)
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub

一点接收就是empty
展开
 我来答
百度网友85f0b6c
2013-01-11 · TA获得超过2701个赞
知道小有建树答主
回答量:420
采纳率:66%
帮助的人:158万
展开全部
首先应该弄清楚串口发送和接受的数据是字符还是十六进制数据(字节)。
假如是十六进制数据(字节),只要分别定义输出字节数组和输入字节数组。
输出传完后,接收的数据就在输入字节数组。其他的就是串口属性设置的问题了,你也应该懂得。
补充:
Private Sub Command1_Click()
Dim data(6) As Byte
Dim recieve(1000) As Byte
If Not MSComm1.PortOpen Then
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
End If
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
data(0) = &HAA
data(1) = &HAA
data(2) = &H1
data(3) = &H0
data(4) = &H90
data(5) = &HA5
data(6) = &H1
MSComm1.Output = data
( 这里加一段延时)
MSComm1.Input = recieve
End Sub '发送测试指令,让下位机进行采集
直接用上面的程序调试一下,鼠标点在参数上可以显示结果。

当然还有一个办法,看一下是你的程序的问题还是硬件连接的问题可以从网上下一个串口调试助手,很直观
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式