我用字符类型接收数据,我应该接收的可能是11位或18位不等的数据,但是我的串口只有接收到8位,其余的都给没了,各位大侠帮帮忙解决解决

解决方案 »

  1.   

    Private Sub Form_Load() 
        ClearText 
        With MSComm1 
            .CommPort = 1 
            .Settings = "9600,N,8,1" 
            .InputLen = 0
            .RThreshold = 1 
        End With 
    End Sub Private Sub MSComm1_OnComm()
        Select Case MSComm1.CommEvent
            Case 2
                Text1.Text = Text1.Text & MSComm1.Input
                '写数据处理代码
        End Select
    End Sub
      

  2.   

    Private Sub Form_Load() 
        MSComm1.Settings = "9600,n,8,1"
        MSComm1.InputMode = comInputModeText   '采用字符串
        MSComm1.InBufferCount = 0   '清空接受缓冲区
        MSComm1.OutBufferCount = 0  '清空传输缓冲区
        MSComm1.InBufferSize = 1024
        MSComm1.RThreshold = 1
        MSComm1.RTSEnable = True
       MSComm1.PortOpen = True
    end subPrivate Sub MSComm1_OnComm()
    Dim strdata As String
    Select Case MSComm1.CommEvent
        Case comEvReceive
          strdata = MSComm1.Input
    End Select
    End Sub这是我的代码
      

  3.   


    Option Explicit
        Dim strdata As String 
    Private Sub Form_Load() 
        MSComm1.Settings = "9600,n,8,1" 
        MSComm1.InputMode = comInputModeText  '采用字符串 
         MSComm1.InBufferCount = 0  '清空接受缓冲区 
         MSComm1.OutBufferCount = 0  '清空传输缓冲区 
         MSComm1.InBufferSize = 1024 
        MSComm1.RThreshold = 1 
        'MSComm1.RTSEnable = True 
       MSComm1.PortOpen = True 
    End sub Private Sub MSComm1_OnComm() 
    Select Case MSComm1.CommEvent 
        Case comEvReceive 
          strdata = strdata & MSComm1.Input 
    End Select 
    End Sub 
      

  4.   

    改成MSComm1.RThreshold = 11试一下
      

  5.   

    改成
    MSComm1.RThreshold = 11 
     
    试一下