SMSMAINFRM.SMS.RThreshold=1  SMSmainfrm.SMS.Output = "AT+CMGR=1" & Chr$(13)  '两位
SMSMAINFRM.SMS.RThreshold=1
   ll = reads
   SMS = RECHR
   Srow = Srow + 1

解决方案 »

  1.   

    你加上SThreshold=1和RThreshold=1 ,并且将SMSmainfrm.SMS.Output = "AT+CMGR=1" & Chr$(13)  改成SMSmainfrm.SMS.Output = "AT+CMGR=1" +vbCr在试试,当然不要忘了初始化端口.
      

  2.   

    Public Function InitiCom(Mscome As Object, lpString As comIfo) As Boolean
       '打开串口和初始化串口。成功了返回真值,否则返回假值。
       '初始化的参数有:端口号,流量控制,rthreshold,输入输出缓冲区。
        With Mscome
           .CommPort = lpString.comNumber
           .PortOpen = True
           .Settings = lpString.lpStr
           .RThreshold = 1
           .HandShaking = lpString.HandShaking
        End With
        On Error GoTo Err
           InitiCom = True
           Exit Function
    Err:   InitiCom = False
           Exit Function
    End Function
    '初始化函数。comInfo结构如下:
    Public Type comIfo
       comNumber     As Integer
       lpStr         As String
       HandShaking   As Integer
       InBuffer      As Integer
       OutBuffer     As Integer
    End TypePublic Function ReadStatmentC(Mscom As Object) As String
    '从串口读取字符,使用inputlen=0,inputmode=0的模式读取字符串。
    '函数返回所读取的字符串。
        Dim Temp As String
        With Mscom
                   .SThreshold = 1
                   .InputLen = 0
                   .InputMode = comInputModeText
                   Do While .InBufferCount
                      Temp = Temp + .Input
                   Loop
                   ReadStatmentC = Temp
        End With
    End Function
    ’从串口读取字符串。返回值为字符串。
    ’不知道什么原因,我将字符显示在文本框的时候最多只能显示7个字符,超过的字符
    ’显示的时候,前面的字符就不会显示,比如发送了字符串”123456789",结果只显示
    ’"9",发送字符串为“1234567",结果显示:"1234567",发送字符串"12345678"
    '结果什么也没有显示。
    ’后来我将显示的文本框的赋值改了一下就好了原来为:text1.text=Temp
    '改后:text1.text=text1.text+Temp
    '注:Temp=ReadWriteC(MSComm1)
      

  3.   

    to :qsgl (瑞军)
    怎么不给分呀1