『壹』 labview串口通信循环

你这个程序有两个问题,首先按下“写入”键后,这个数据就会以最快的速度向串口写入数据。而串口是个慢速设备,这个写法会丢失数据,且时间一长会缓冲溢出而导致崩溃。修正的方法是在写入这里加一个延时,比如200毫秒才写一次。
其次,这样的两个While循环不合理,比如关闭了第一个循环一定导致第二个循环报错。解决的办法是要么放到同一个循环里,要么两个循环用同一个结束开关控制

『贰』 labview串口通信

程序有问题,一个串口一般只配置一次。如果又要读又要写,参照下图

,用同一个串口专引用。
改完属后 建议从一下几个方面查找问题,
1、查看Max中串口是否能够正确识别,
2、查看LabVIEW串口配置和单片机是否对应
2、命令是否正确,一般都是写十六进制的数字,你的字符串是否是十六进制显示模式?
3、读取的延时是否正确,单片机需要一定时间来执行你发送的命令。可以采集visa的属性节点,VISA串口字节数来查看是否有数据返回。

希望对你能有所帮助。