相关信息
查看LabVIEW的串口通信范例程序(NI范例查找器»硬件输入与输出»串口»简单串口.vi),您会注意到它以
"VISA配置串口" 节点开始。在此处设置终止符(默认为十六进制0A(“换行”))和超时(默认为10秒)。
如果您正在读取串口数据时接收到了一个字节恰好匹配了设置的终止符,"VISA读取VI"将判定这就是所请求数据的末尾并将停止读取操作。发生这种情况是因为上述第二个条件已经满足,即使条件1尚未满足,VI尚未从串口读取到所有字节。
在正常文本通信中使用默认终止符通常不会导致出现问题。但是,二进制数据没有分配给0x0A字节的特殊含义。这也是在上面的示例中,第一次读取操作在63字节之后停止并且剩余的37个字节在软件缓冲区中等待被读取的原因。如果您通过串口进行二进制数据传输,建议要禁用“VISA配置串口”VI的终止符。