labview串口接收缓存数据问题
您好!请教一个问题,现在我用labview写一个串口通信的程序,通信设备是一个位移传感器,计算机通过串口发送指令到传感器,就能返回数据,目前的情况是,我想要接收传感器的缓...
您好!请教一个问题,现在我用labview写一个串口通信的程序,通信设备是一个位移传感器,计算机通过串口发送指令到传感器,就能返回数据,目前的情况是,我想要接收传感器的缓存数据,高亮执行时数据接收正常,正常执行数据接收就有问题(接收的有可能是正常数据,也有可能是其他数据),下面附上程序部分图片,如能解答,非常感谢,分数不多,还请不吝指教。
展开
2个回答
展开全部
1. 你的程序有些问题,你不能每次都打开串口,在循环中,这样会导致串口不断的开启和关闭。
2. 数据接收时,只有长度大于0,才去读取信息。不要每次都强行读取。
3. 当点击发送命令后,要加个延时,才能去读取。
2. 数据接收时,只有长度大于0,才去读取信息。不要每次都强行读取。
3. 当点击发送命令后,要加个延时,才能去读取。
追问
就是这个延时,具体该怎样加呀,我在串口读和写之间加了一帧平铺式顺序结构,里面放置延时,但这样也没有效果,另外,我把串口打开放置在循环外了,不管怎样,多谢回答,这个问题我调试了几天了。
追答
你知道顺序结构吗?就是类似胶卷那种的框图,把发送 + 延时 + 读取分别放到3个顺序结构中,就可以了。
来自:求助得到的回答
展开全部
这种情形一般是由于读写之间延时不够,可以试试在读写之间加上适当延时
追问
你好,我试着加过延时的,没有效果,能具体说下吗,多谢!
追答
其一,如果高亮的时候是正常,不高亮时出现状况,大多数情况下是没加延时或者延时不够,注意是加足够延时;
其二,如果下位传上来的字节数固定,那么可以通过读取固定字节数会好一些;
其三,你每次按下“取得2”都开一次串口,却没有关闭,你可以自行判断是否会有影响;
其四,据我的经验,鼠标按下事件在操作过程中很容易引起误判。极有可能在按下时传送给下位机的指令出现不对,以至于返回来的数据不对。对于按钮,个人建议用值改变事件相对好一些。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询