我用的是MSCOMM把一个字符转换成01组合发给串口后。另一端能正确接收信号。
但我发会来是我缺去不到01组合的二进制,MSCOMM的接收模式我也调的是二进流的形式,但接受的是?,这是怎么回事呀。有没有简单的源代码呀。我急用,谢谢了。

解决方案 »

  1.   

    为什么要转成binary呢?直接send字符不行吗?VB接收的时候会把内容转成decimal的,可能是你一下子把string变成binary后,一串地send出去,接收方收到的是1大串binary,所以显示的是?
    如果你坚持用binary,可以把string逐个字符变成binary,给1个array,接收方收到array后再每个字符转回来,再combine成string
      

  2.   

    Private Sub cmdSend_Click()
        Dim buf() As Byte
        Dim strSend As String
        
        buf = StrConv(strSend, vbFromUnicode)
        '这里发送这个字符串
        
    End SubPrivate Sub cmdReceive_Click()
        Dim strReceive As String
        Dim strTemp As String
        Dim i As Integer
        
        '收到的数据放到strReceive里面
        
        For i = 1 To Len(strReceive)
            strTemp = strTemp & Chr(Mid(strReceive, i, 1))
        End If
    End Sub这是我在调用moxa的PComm库时用到的代码。
    这个库比微软的MSComm控件要强大的多,推荐使用,网站是:www.moxa.com.cn
      

  3.   

    yi?楼上的,我做过的也是Moxa的,的确推荐用moxa的dll