LABView串口数据读取的问题
我在使用LABView做一个有关串口数据读取和处理程序的时候遇到了这样的问题:我希望每次读取三个字节用于数据处理,但是在读取过程中总是出错,读取数据会出现错位的情况,例如发到串口的数据顺序是1525525531255255(数据不断重复),在读取过程中就可能会成为2553125525515255,导致我的数据处理总是错误,我百思不得其解,请问这是否和I/O缓存区的设置有关?如果不是这个原因,还请各位高手不吝赐教,非常感谢!你的下位机是连续不断的传数据?如果这样,最好添加一个head标志和end标志,把新收的数据送入移位寄存器(连接字符串),这样用移位寄存器再来截取。
或者最好用问答方法,发一个命令,回来3个数据。这是最简单的。 http://www.cpubbs.com/bbs/forum.php?mod=viewthread&tid=63745&highlight=%B4%DB%CE%BB 看看这个程序吧。版主写的。串口通信中数据篡位的彻底解决办法:队列缓冲数据!附程序! 回复 4# totototo 的帖子
谢谢,我先试一下看看! 回复 2# wdyjz 的帖子
问答的方式似乎不太适合我的这个项目的情况,我正在试一次读取串口所有数据进入寄存器,再从中调用数据进行处理的方法,你说的那个方法似乎和数据帧的方法差不多,我也准备试一下,谢谢啦,困扰了很久了! 回复 3# totototo 的帖子
请问一下,为什么我使用队列的方法之后会出现这样的错误:输入参数无效。例如,输入路径可能包含操作系统不允许用于路径的字符(例如,?或@)?
页:
[1]