我做了一个程序,一台电脑用了4了串口,1、2、4串口读数据没问题,打开了串口3后cpu就长到100%
我用了串口工具同时打开4个串口,到没问题,想来是我代码的问题,大家帮我看看代码
Private Sub comPort_OnComm(Index As Integer)
Dim inbyte() As Byte
Dim buf$
On Error Resume Next
With comPort(Index)
Select Case .CommEvent
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 comEvSend 发送 RThreshold # of chars.
Case comEvReceive 收到 RThreshold # of chars.
buf = comPort(Index).Input
StrCom = buf
Call ReadCom(StrCom, Index)
Case Else
Debug.Print .CommEvent & " " & CStr(Index)
End Select
End With
End Sub
gz
楼主将"On Error Resume Next"去掉后,能发现错误吗?再跟踪看看!
我也来看看!
你的4个串口是通过一个串口控件数组统一管理的,如果1 2 4 没有问题的话,三也应该没有什么问题,最后在系统中看看这4个串口的设置有没有什么不同,比如缓冲区之类的,还有你这四个串口控件的设置有没有什么不同.