我现在需要使用COM1口进行通讯。现在电缆连接正确,使用XP自带的“超级终端”进行通讯时能正常收到文件或数据。但是用“超级终端”和MSCOMM连接的时候,就不好用了。不知道问题出在哪里,下面是我在VB中的代码。请大家帮我分析一下。  谢谢。Private Sub Form_Load()
    MSComm1.CommPort = 1
    MSComm1.Settings = "9600,n,8,1"
    MSComm1.PortOpen = True
End SubPrivate Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
       Case comEvReceive
           Text1.Text = MSComm1.Input
           MSComm1.InBufferCount = 0
    End Select       
End Sub
这样设置有什么问题吗?还是缺少什么属性的设置?请大家帮我看看。

解决方案 »

  1.   

    属性设置的太少了,就是根本的事件驱动方式还是查寻方式都没有给支出来,
     如果正常的话,我的影响默认是查询方式Public Function OpenPort(PortNo As Integer, Optional InBufferSize As Integer = 1024, Optional OutBufferSize As Integer = 512) As Long
       On Error GoTo ErrExit
        MSComm1.CommPort = PortNo                   '采用COM端口
        MSComm1.Settings = "9600,n,8,1"
        MSComm1.InputMode = comInputModeBinary      '采用二进制传输
        MSComm1.NullDiscard = False                 'NULL字符从端口传送到接受缓冲区
        MSComm1.DTREnable = False                   'DTR线无效
        MSComm1.EOFEnable = False                   '不寻找EOF符
        MSComm1.RTSEnable = False                   'RTS线无效
        MSComm1.InBufferCount = 0                   '清空接受缓冲区
        MSComm1.OutBufferCount = 0                  '清空传输缓冲区
        MSComm1.SThreshold = 1                      '如果传输缓冲区完全空时产生MSComm事件
        MSComm1.RThreshold = 0                      '不产生MSComm事件
        MSComm1.InBufferSize = InBufferSize         '接收缓冲区  默认为1024个字节
        MSComm1.OutBufferSize = OutBufferSize       '发送缓冲区  默认为512个字节
        MSComm1.PortOpen = True                     '打开端口
        OpenPort = 0
       Exit Function
    ErrExit:
       OpenPort = 1
    End Function这个你可以参考参考
    MSComm1.RThreshold = 1事件驱动 ,每收到一个字节触发MSComm1_OnComm()