lixiaobin127 发表于 2005-6-16 19:45:13

串口定时采集,为什么只能采集一次!

用串口定时进行采集,除了第一次能从串口采集到数据,接下来,从串口就读不到数据了,一直是0字节,大概是什么原因呢?那位高手,指点一下!

cpubbs 发表于 2005-6-16 20:25:56

是不是没有收到数据呢?

cpubbs 发表于 2005-6-16 20:26:15

有时候时间过短会还没有收到数的!

lixiaobin127 发表于 2005-6-16 22:54:16

就是收不到数据,我也很奇怪!时间不是很短了,最短是5分钟。

cpubbs 发表于 2005-6-16 22:54:56

DEAR,确认下面有数发过来了吗?

tianljbox 发表于 2005-6-16 23:06:16

<P>串口传回来字符串字头有无判断,能确定下位机每五分钟传输一次?</P>

lixiaobin127 发表于 2005-6-16 23:23:44

<P>每五分钟,是通过一个WHILE LOOP实现的。在第二次循环的时候,通过检测串口输入缓存中的字节数为0,所以我知道没有读到数据。最近才发现这个问题。</P>

lixiaobin127 发表于 2005-6-19 05:56:43

<B>以下是引用<I>lixiaobin127</I>在2005-6-16 15:27:08的发言:</B>
利用高亮来调试的时候,从VISA WRITE结束到VISA READ前,ERROR OUT那里现示的是“OK(107……)”一串数字,正常情况下,只是应该显示OK。什么意思呢?

出现的是ok1073676294,在VISA错误代码中的错误名称是:VI-SUCCESS-MAX-CNT,其含义是The number of bytes transferred is equal to the input count.都不知道到底是错还是什么问题。

cpubbs 发表于 2005-6-19 07:08:30

The number of bytes transferred is equal to the input count.这个不是错误来的,不用理它,意思是说设定的字节数刚好等于采到的数据字节数,它怕超出,所以就提示你了,不用理也行的!

cpubbs 发表于 2005-6-19 07:09:04

在高亮情况下能运行,在正常状态不能运行,就表明是时间问题,你得加延时,正如我前面所说的时间问题!

小飞 发表于 2005-6-19 18:54:29

<P>你是不是把发送命令的节点放在循环外面了,串口采集时,发一次命令,才能读一次数,即使发的是同一条命令,也要重复发的。</P>

lixiaobin127 发表于 2005-6-16 23:27:08

利用高亮来调试的时候,从VISA WRITE结束到VISA READ前,ERROR OUT那里现示的是“OK(107……)”一串数字,正常情况下,只是应该显示OK。什么意思呢?

cpubbs 发表于 2005-6-16 23:28:02

你试着用其他的调试软件读一下,在这个时间内能否收到数,以确认是下边的机器没有发数回来呢,还是这个LV程序的问题!

lixiaobin127 发表于 2005-6-16 23:32:05

<P>好的,我试试看!</P><P>对了,LabSQL的补丁,看到了吗?</P>

cpubbs 发表于 2005-6-16 23:48:02

哦,还没有看,我现在就看,谢谢啦哈!
页: [1] 2
查看完整版本: 串口定时采集,为什么只能采集一次!