LABVIEW:
VB:
不用多线程,怎么做正式的串口应用(而非实验室验证程序)?难道等数据的时候,程序就死在那儿?VB下也有多线程,但它的界面组件却不是线程安全的,这么麻烦,与它的“便利”背道而驰。至于某些现成的串口控件,你用它做个MODBUS RTU试试?
赤铸 发表于 2010-9-15 09:24
VB在等数据的时候,完全不用死那里,因为串口接受数据有事件的(类似中断),我不太明白你说的死那里,是什么意思?
参考一段串口事件处理程序(不全,处理的是数据接受事件,这段程序用了N多,没发现丢字节的问题)
Private Sub MSComm1_OnComm()
Dim v_Len, i, j, k As Integer
Dim rev() As Byte
Dim x As Byte
Dim l_x As Long
Dim f_x, f_x0 As Single
Select Case MSComm1.CommEvent
Case comEvReceive
v_Len = MSComm1.InBufferCount
rev = MSComm1.Input
For i = 0 To v_Len - 1
x = rev(i)
Select Case x
Case &H2A '起始符
Pot = 1
Case &HD '终止符 |