打印

vb与单片机通讯问题

[复制链接]
1890|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuhundehao|  楼主 | 2009-12-26 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟才学
现在在做个 UPS的后台软件 用VB做的  主要目的是  用电脑直接和我们的机器通讯 吧监控省掉 但是 我做出来的 不知道为什么 单片机只能收到一个地址位 ,还有在第二位单片机收到的数就不对了 不知道为什么


对于机器的单片程序没问题 我一片那个单片机的监控能正常收发数据的



谢谢大家帮分析下问题 可能出在那

Public Sub fason1()
Dim i As Integer
For i = 0 To sendcount
    If Hex(sendbuffer(i)) <= 9 Then
    Form3.Text2.Text = Form3.Text2.Text & Hex(0) & Hex(sendbuffer(i)) & Space(1)
    Else
    Form3.Text2.Text = Form3.Text2.Text & Hex(sendbuffer(i)) & Space(1)
    End If
    Next
    If Form3.MSComm1.PortOpen = True Then
    Form3.MSComm1.Output = sendbuffer
     Form3.Text2.Text = Form3.Text2.Text + vbCrLf
    blnAutoSendFlag = False       发送标志位
    End If
End Sub

Private Sub MSComm1_OnComm()
   Dim buffer As Variant
   Dim olen, k As Integer
   Dim l As String
     Select Case MSComm1.CommEvent
     Case comEvReceive
   olen = MSComm1.InBufferCount
   Form3.Text3.Text = olen
   buffer = MSComm1.Input
   For k = 0 To olen - 1
        If Hex(buffer(k)) <= 9 Then
        Form3.Text1.Text = Form3.Text1.Text & Hex(0) & Hex(buffer(k)) & Space(1)
        Else
        Form3.Text1.Text = Form3.Text1.Text & Hex(buffer(k)) & Space(1)
        End If
    inbuffer(k) = Hex(buffer(k))
   Next
   End Select
    Form3.Text1.Text = Form3.Text1.Text + vbCrLf
End Sub

相关帖子

沙发
yuhundehao|  楼主 | 2009-12-26 10:40 | 只看该作者
小弟才学 那有错误帮着指下 好多都不懂 谢谢

使用特权

评论回复
板凳
wkshengren| | 2010-2-19 23:17 | 只看该作者
是不是波特率设置的有问题,那个setting属性,看一下和你的单片机里的程序一致么

使用特权

评论回复
地板
chunyang| | 2010-2-20 00:09 | 只看该作者
不是波特率的问题,是程序结构有错,自己好好检查,编写程序前应该先做好流程。

使用特权

评论回复
5
dasaxiong| | 2011-5-9 14:19 | 只看该作者
学习学习。。

使用特权

评论回复
6
zjy.zz| | 2011-6-18 15:08 | 只看该作者
正在学VB,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

31

帖子

1

粉丝