串口通信(怎么多命令发送)

串口通信(如何多命令发送)
如题:
与串口设备通信,假设总共有20条命令,如何实现发送完一条后如果接受数据OK,则发送第二条以此类推,直到发送完所有数据。

------解决方案--------------------
发送命令装入数组,用循环发送,并设置全局接收成功标志flg变量,如果OK就设置flg标志为真,就发送下一条,不成功则等待。

以下是参考程序:

dim cmd(19) as string'里面装入要发的命令。
for i=0 to 19
mscomm1.Output = cmd(i)
while not flg
doevents
wend
flg=flase
next


------解决方案--------------------
我已经找到解法,这是我目前的做法,因为下位机有个指令接收与数据返回时间。

Public Sub DelayTime(A As Integer, B As Integer)
Dim I As Integer
For I = 1 To B
Sleep A
DoEvents
Next I
End Sub

Private Sub cmdCollectionData_Click()
Call HexCommandSend(plPvVoltage, Text1)
Call DelayTime(10, 50)
Call HexCommandSend(plPvCurrent, Text2)
Call DelayTime(10, 50)
Call HexCommandSend(plEnergyImport, Text3)
Call DelayTime(10, 50)
Call HexCommandSend(plEnergyOutput, Text4)
Call DelayTime(10, 50)
Call HexCommandSend(plPvPower, Text5)
Call DelayTime(10, 50)
Call HexCommandSend(plRunHour, Text6)
End Sub
------解决方案--------------------
探讨
发送命令装入数组,用循环发送,并设置全局接收成功标志flg变量,如果OK就设置flg标志为真,就发送下一条,不成功则等待。

以下是参考程序:

dim cmd(19) as string'里面装入要发的命令。
for i=0 to 19
mscomm1.Output = cmd(i)
while not flg doevents
wend
flg=flas……