小弟以前看过一点QB下的单片机编程用的是in和out 命令,你是不是把线给弄反了还是电压设置之类的有点问题?班门弄斧了!

解决方案 »

  1.   

    忘了说了,我看见一个可以通信的用了mscomm控件的vb程序,它只是对于发出和接受的数据转换成为字节,但接受还是有些问题,不知这是什么原理.
      

  2.   

    Private Sub Btn_Send_Click()
      MSComm1.Output = Send_Msg.Text
    ...
    Private Sub MSComm1_OnComm()
      If MSComm1.CommEvent = comEvReceive Then
        Rece_Msg.Text = Rece_Msg.Text & MSComm1.Input
      End If主要代码就是这些,其他都是串口配置方面的
      

  3.   

    Private Sub MSComm1_OnComm()   
       Dim Bufferdata as byte
       Select Case MSComm1.CommEvent
       Case comEvReceive
          Bufferdata = MSComm1.Input
          Rece_Msg.Text = Rece_Msg.Text & Bufferdata
       End Select
    End Sub
      

  4.   


    你的串口通讯控件的 InputMode 值是否设置为:comInputModeBinary一般来说,如果是与单片机通讯的话,应该设为 comInputModeBinary 而不是 comInputModeText另外,如果已经设为 二进制读写方式,那么读取时应进行数据转换即:  Bufferdata = MSComm1.Input     Rece_Msg.Text = Rece_Msg.Text & StrConv(Bufferdata, vbUnicode)
      

  5.   

    对对,我看到的那个可通信的程序与你写的差不多,可以告诉我为什么要先把缓冲读到bufferdata里吗,谢谢
      

  6.   

    bufferdata定义成字节型用来存储串口读进来的数据,然后再将bufferdata转换成你需要的格式