leepone 发表于 2010-1-6 11:26:15

串口接收数据问题!急寻解答!

00 84 0F 0D 0B 0D 0E C6 00 FF FF
01 84 0C 0D 0E 0C 0D C5 00 FF FF
02 84 0E 0C 0D 0E 0C C7 00 FF FF
03 84 0E 0E 0C 0E 0D CA 00 FF FF
04 84 0C 0E 0D 0C 0E C9 00 FF FF
05 84 0C 0C 0E 0B 0C C6 00 FF FF
06 84 0F 0B 0D 0E 0B CA 00 FF FF
07 84 0D 0E 0A 0D 0E CB 00 FF FF
08 84 0B 0D 0F 0B 0D CB 00 FF FF
09 84 0E 0C 0D 0E 0C CE 00 FF FF
0A 84 0D 0E 0B 0E 0E D0 00 FF FF
0B 84 0B 0E 0E 0B 0E CF 00 FF FF
0C 84 0E 0C 0D 0D 0C D0 00 FF FF
0D 84 0E 0D 0C 0E 0C D2 00 FF FF
0E 84 0C 0E 0B 0C 0E D1 00 FF FF
0F 84 0B 0C 0F 0B 0D D1 00 FF FF
10 84 0E 0A 0D 0E 0B D2 00 FF FF
11 84 0D 0E 0B 0D 0E D6 00 FF FF
12 84 0C 0D 0E 0C 0D D6 00 FF FF
13 84 0D 0C 0E 0D 0C D7 00 FF FF
1F 84 0D 0C 0E 0D 0C E3 00 FF FF
1F 90 00 0C 0E 0D 0C E2 00 FF FF
接收的数据正确结果如上所示。现在接收到的是
84 0D 0E 0B 0E 0E D0 00 FF FF
0B 84 0B 0E 0E 0B 0E CF 00 FF FF
0C 84 0E 0C 0D 0D 0C D0 00 FF FF
0D 84 0E 0D 0C 0E 0C D2 00 FF FF
0E 84 0C 0E 0B 0C 0E D1 00 FF FF
0F 84 0B 0C 0F 0B 0D D1 00 FF FF
10 84 0E 0A 0D 0E 0B D2 00 FF FF
11 84 0D 0E 0B 0D 0E D6 00 FF FF
12 84 0C 0D 0E 0C 0D D6 00 FF FF
13 84 0D 0C 0E 0D 0C D7 00 FF FF
1F 84 0D 0C 0E 0D 0C E3 00 FF FF
1F 90 00 0C 0E 0D 0C E2 00 FF FF
00 84 0F 0D 0B 0D 0E C6 00 FF FF
01 84 0C 0D 0E 0C 0D C5 00 FF FF
02 84 0E 0C 0D 0E 0C C7 00 FF FF
03 84 0E 0E 0C 0E 0D CA 00 FF FF
04 84 0C 0E 0D 0C 0E C9 00 FF FF
05 84 0C 0C 0E 0B 0C C6 00 FF FF
06 84 0F 0B 0D 0E 0B CA 00 FF FF
07 84 0D 0E 0A 0D 0E CB 00 FF FF
08 84 0B 0D 0F 0B 0D CB 00 FF FF
09 84 0E 0C 0D 0E 0C CE 00 FF FF
0A(这是最全的一次),后来几次接收的数据都是这里面的数据片段。
下面是labview程序框图

麻烦各位达人帮我看看问题所在何处!谢谢!

炸弹熊 发表于 2010-1-6 11:40:35

把串口配置和串口关闭放在循环里面试试?

ILE 发表于 2010-1-6 19:26:09

图片不清楚,再发下

leepone 发表于 2010-1-6 22:05:36

回复 3# ILE


    点击放大,应该很清楚啊!没截进去的只是串口配置

爱美思 发表于 2010-1-7 14:46:56

1.
你循环中的事件触发超时是没有设置的,那也就是说没有事件触发时循环是一直处于等待的,这似乎有点不妥,建议设置一下超时时间试试;
2.
在VISA write的端口return count设立观察窗口;
在VISA read的端口byte count、return count设立观察窗口;
确定你写入和读出的数据长度是否一致;
3.
调试时不要一次性发很多数据,先调试一串数据的通讯情况,便于发现问题;
同时可以暂时去掉后面数据处理,单独调试通讯,便于排查问题所在,成功之后再添加;
页: [1]
查看完整版本: 串口接收数据问题!急寻解答!