求助!!LABVIEW读取串口返回命令,字符丢失

2019-07-17 13:53发布

各位大神你们好,采用labview串口与下位机MCU通信,每60sMCU回复一个CHARGE_OVER#的字符串,LABVIEW串口接受该字符串,方法是,当字节数达到7个以上时,开始读取串口缓存,但是结果总是丢后面的字符,读到的都是CHARGE_O或是CHARGE_OVE,具体代码见截图,望大神指点,谢谢。
程序框图.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
diertimeidaan
1楼-- · 2019-07-17 18:15
尝试Byte at port和read之间 或者 read之前 加一个5ms或者10ms的延时 最佳答案

评分

参与人数 1积分 +5 收起 理由 ElecFans王岑 + 5

查看全部评分

格式呐伤
2楼-- · 2019-07-17 22:13
你用串口助手收mcu的会出现这个情况吗?还有串口助手发labview收回出现这个labview接收不完全吗?

评分

参与人数 1积分 +5 收起 理由 ElecFans王岑 + 5

查看全部评分

爱咋咋地hgwd
3楼-- · 2019-07-17 23:53
 精彩回答 2  元偷偷看……
呼呼721
4楼-- · 2019-07-18 00:11
格式呐伤 发表于 2017-9-4 09:54
你用串口助手收mcu的会出现这个情况吗?还有串口助手发labview收回出现这个labview接收不完全吗?

用串口助手调试过,没有出现,所以我只能觉得是LABVIEW接受的问题了。
呼呼721
5楼-- · 2019-07-18 05:16
diertimeidaan 发表于 2017-9-4 10:29
尝试Byte at port和read之间 或者 read之前 加一个5ms或者10ms的延时

后来,我尝试把等待字节数的WHILE循环时间改为50ms刷新一次,并且在读取之前添加了100ms的延迟,因为波特率时9600,100ms的延迟肯定够了,还是出现了读取不完整的情况。
呼呼721
6楼-- · 2019-07-18 11:00
爱咋咋地hgwd 发表于 2017-9-4 13:32
1、看看串口配置是不是启用了终止符2、可以尝试多读一次看看会不会把丢掉的读出来

终止符没有启用,是F,在这里,多读一次,怎么理解,是把WHILE的循环时间变短吗?

一周热门 更多>