Windows和单片机不同,它不是实时操作系统,所以串口接收的延时不能固定在一个值内,安全的做法是:把你的串口命令加一个头和一个尾,如果VISA读取缓冲区,能够把头和尾都读出来,那么你再来做校验,才可以。
LabVIEW做串口收发程序,你得自己弄个通信超时,比如设置为10秒,如果超过10秒你没有接收到任何数据或数据不完整,就应当报错。但在十秒内,你得不断查询串口缓冲区是否有数据上报上来。
追加一点说明:你在labview用的是单步调试,因为单步调试比正常运行要慢很多,所以你的串口数据全都上来了。正常运行不可能一次返回所有数据的。
加标志位,