VB与单片机串口通信问题,请高手赐教!

VB程序发送AA给单片机后,单片机响应回传16个字节的十六进制数,VB程序接收并显示在DISPTEXT文本框中,但是VB收不到单片机回传的数...接收代码如下:Priva... VB程序发送AA给单片机后,单片机响应回传16个字节的十六进制数,VB程序接收并显示在DISPTEXT文本框中,但是VB收不到单片机回传的数...
接收代码如下:
Private Sub MSComm1_OnComm()
Dim BytReceived() As Byte
Dim strBuff As String
Dim i As Integer
Select Case MSComm1.CommEvent '事件发生
Case comEvReceive
Cls
MSComm1.InputLen = 0 '读入缓冲区全部内容
strBuff = MSComm1.Input '读入到缓冲区
Label1.Caption = Label1.Caption + Len(strBuff) '接收计数
If MSComm1.InputMode = comInputModeBinary Then
BytReceived() = strBuff '如果是二进制接收模式则进行数据处理,否则直接显示字符串
For i = 0 To UBound(BytReceived)
If Len(Hex(BytReceived(i))) = 1 Then
strData = strData & "0" & Hex(BytReceived(i)) & " " '如果只有一个字符,则前补0,如F显示0F,最后补空格
Else '方便显示观察如: 00 0F FE
strData = strData & Hex(BytReceived(i)) & " "
End If
Next
DispText.Text = DispText & strData '显示接收的数据
strData = ""
Else
DispText = DispText & strBuff
End If
End Select
End Sub
发送代码好像没错:
Private Sub Send_Data_Click() '手动发送程序
Dim temp(0) As Byte
Dim strBuff As String
On Error GoTo uerror
If MSComm1.PortOpen = False Then
MsgBox "串口未打开!"
End If
If SendText.Text = "" Then
pp = MsgBox("发送的数据不能为空!", 16)
Exit Sub
End If
If DispOpt(0).Value = True Then '如果设置十六进制则进行十六进制处理
temp(0) = "&H" & SendText
MSComm1.Output = temp
Else
strBuff = SendText
End If

MSComm1.Output = strBuff
Label7.Caption = labe7.Caption + Len(strBuff) '发送计数
uerror:
End Sub
展开
 我来答
s1604a
2011-11-13 · 超过18用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:31.9万
展开全部
你先试一下把串口线txd和rxd接在一起,不接单片机,试一下可不可以用VB收到自己发出去的数据包。还有就是你的数据没有用数据包的结构来传输,这样没办法校验和纠错,即使程序没有问题,当串口线的长度大了的时候就会有各种干扰,不能用于工业控制。强烈建议打包传输(加入命令码、长度、结尾符、CRC)。如果有示波器的话可以看看信号线上的波形。
爱栀竹的人
2011-11-09 · TA获得超过1352个赞
知道大有可为答主
回答量:1743
采纳率:0%
帮助的人:996万
展开全部
Public WithEvents moCom As SCCIATLLib.WinCom

俺一般是用read去读取数据
在 moCom_OnComEvent(ByVal comEvent As Integer, ByVal eError As Integer) 事件中
当 comEvent=1 时;
用循环直到读出所有数据
sA = frmMain.moCom.Read
Do While sA <> ""
mScom = mScom & sA

sA = frmMain.moCom.Read
Loop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式