我做了一个简单的串口监听程序,串口只要有数据接收到cpu马上达到100%,读取出来来cpu就下来了,请教各位大虾是怎么回事,以下是我的代码,谢谢
Private Sub Form_Load()
MSComm1.CommPort = 5
MSComm1.Settings = "115200,N,8,1" '设置通信口参数
MSComm1.InputMode = comInputModeText
MSComm1.InBufferCount = 0 '清除接收缓冲区
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.RThreshold = 1 '设置接收一个字节产生OnComm事件
MSComm1.PortOpen = TrueEnd SubPrivate Sub MSComm1_OnComm()
    Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
strBuff = strBuff & MSComm1.Input
End Select
End Sub

解决方案 »

  1.   

    vb是单线程的,有这样的问题不奇怪。
    想有效的利用和分配系统资源,用VB不是很好的选择,换VC来弄会高效很多。
    如果是商用级程序,效率低点是可以接受的,但如果是工业级或军用级程序,
    效率和稳定性是很关键的。这种时候很少会有人用basic作为程序基础,
    通常都会选择C语言或汇编作为程序基础。
    按照需求选择好工具是开发策划时的关键步骤。忽略这个步骤会为整个项目的
    开发实施带来很大的问题,有时候还会危害到公众安全,所以这个问题不能小视。