串口配置的“超时”时间,要怎么设置?谢谢!
如下图:默认是10秒。我发现在10秒下,labview做的 自动识别串口程序,识别串口很慢。我尝试修改超时时间为500毫秒,识别串口很快了,在采样率为10/秒、25/秒和50/秒下,测试也没有问题。但如果采样率为1/秒、1/10秒,串口读取数据就乱了。晕,,,
请教一下如何解决?谢谢! 听说好像一般超时时间大概是33个字节,比如波特率是9600,超时33ms就可以,我也是听别人说的,不能确定 labview串口的超时是个大问题,我现在的波特率远远高于9600,我尝试设置串口的超时为33毫秒,结果全乱了。 这个需要试验咯。或者先缓冲,像版主前段时间发的队列咯。 超时跟波特率有关,我说的33ms是针对9600的,你按照你的波特率算一下 有经验公式么 3# wyb4993
传输速度快了,超时时间设置短了,发的一包数据都没收完就处理,出来乱码也不奇怪吧。 6# fjczd
我不清楚我们说的是不是一件事情。
在我的理解里,如果清楚下面会回来多少字节的数据,那么加上校验位和停止位,就知道一共有多少bit,然后根据波特率就能算出时间,超时的时间可以适当的多一些。 谢谢大家的热心回复!
经过两天的实验,我想我的这个问题应该是解决了。
请注意:波特率和AD采样率是不同的概念。
按照labview帮助的说明,串口的超时时间是指VISA读写串口数据操作的超时值。所以,如果采样率是每10秒采集一个数据,但超时时间设置为1秒或更小,那么肯定出问题。
所以,根据不同采样率来设置不同的串口读写超时时间,就可以解决这个问题。当然,串口读写超时时间还受到波特率的影响。
即在波特率一定的情况下,不同的AD采样率如果相差很大,那么串口读写超时时间的设置是不同的。
谢谢!
页:
[1]