发送命令:403031524431370D(为ASCII码)
应该回送:@01RD010000640500000001640000000000000200的ASCII码形式
代码:
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.PortOpen = True
MSComm1.Settings = "9600,n,8,1"
MSComm1.InBufferCount = 0
End SubPrivate Sub Timer1_Timer()
MSComm1.Output = "403031524431370D "
Text1.Text = MSComm1.Input
End Sub
将字符串分离传输也试过了,就是一个字符都收不到,用调试软件测试能发能收,所以硬件部分没有问题。
请各位高手赐教!

解决方案 »

  1.   


    Private Sub MSComm_OnComm ()
       Select Case MSComm1.CommEvent
       ' Handle each event or error by placing 
       ' code below each case statement' 错误
          Case comEventBreak   ' 收到 Break。
           Case comEventCDTO   ' CD (RLSD) 超时。
          Case comEventCTSTO   ' CTS Timeout。
          Case comEventDSRTO   ' DSR Timeout。
          Case comEventFrame   ' Framing Error
          Case comEventOverrun   '数据丢失。
          Case comEventRxOver'接收缓冲区溢出。
          Case comEventRxParity' Parity 错误。
          Case comEventTxFull   '传输缓冲区已满。
          Case comEventDCB   '获取 DCB] 时意外错误   ' 事件
          Case comEvCD   ' CD 线状态变化。
          Case comEvCTS   ' CTS 线状态变化。
          Case comEvDSR   ' DSR 线状态变化。
          Case comEvRing   ' Ring Indicator 变化。
          Case comEvReceive   ' 收到 RThreshold # of chars.
                    '收到字符
                     if commevent=comEvReceive then
                         text1.text=mscomm1.input
                      endif      Case comEvSend   ' 传输缓冲区有 Sthreshold 个字符                     '
                         '
          Case comEvEof   ' 输入数据流中发现 EOF 字符
                         ' 
       End Select