我想要用MSComm控件具体怎么用我也不清楚,希望能有高手指点一下。。

解决方案 »

  1.   

    我写过一个读取地泵地方法,注意,每种地泵的AT指令不一样,要做调整。
    一下是一段代码:(将地泵数据保存到一个文本中)
    Dim p_input As String
    Dim p_num(7) As String
    Dim p_number As String
    Dim p_pathf As String
    Dim a As Integer
    On Error GoTo ine
    'Text1.SetFocus
    'Do
    text1.Text = ""
    With MSComm1
         .CommPort = 1
         .Settings = "1200,n,8,1"
         .PortOpen = True
    End With
    Do
    Loop While MSComm1.InBufferCount < 21
    If MSComm1.InBufferCount >= 20 Then
       p_input = ""
       p_input = MSComm1.Input
       If InStr(p_input, "=") Then
          p_input = Right(p_input, Len(p_input) - InStr(p_input, "="))
          p_input = Left(p_input, 7)
          'p_input = Right(p_input, Len(p_input) - 1)
          p_number = p_input
          For i = 7 To 1 Step -1
              p_num(i) = Right(p_number, Len(p_number) - (i - 1))
              p_number = Left(p_number, Len(p_number) - 1)
          Next i
          p_number = ""
          For i = 7 To 1 Step -1
              p_number = p_number + p_num(i)
              p_value = Val(p_number)
          Next i
          text1.Text = p_value
       End If
       p_pathf = App.Path & "/DATA.txt"
       text1.SaveFile p_pathf, rtfText
       'Open p_pathf For Input As #1
       'Write #1, p_value
       'Close #1
    End If
    GoTo inerr
    ine:
       MsgBox ("没有找到连接。")
    inerr:
    MSComm1.PortOpen = False
    'Loop While stops = True有时,地泵需要先对串口传送一个起始信号,然后才能接收数据。集体看AT指令说明书。