chenhuikd 发表于 2009-9-16 10:20:57

LabVIEW 串口

我用单片机循环向串口发四个16进制数(例如 FF,..,..,FF),labviewVISA读取每次读取4个字节并构建数组,如果数组第一个和第四个元素均为单片机发送的常量(FF)的话,就认为通信成功,对接受数据进行处理,反之认为通信失败,重新读取。如果我先运行Labview,后给单片机上电的话,基本上都可以通信成功;但如果我先给单片机通电,后运行LabVIEW的话,很少能够通行成功。请问各位高手,如何解决?

tester 发表于 2009-9-16 11:05:30

接收顺序不对了,多次数据累积,采用labview发指令下位机再返回的形式

飞雨天 发表于 2009-9-16 12:30:11

你可以这样实验下。

下位机不改动

上位机改动下,每次读取4个字节,然后显示出来,用hex模式,循环接收到的用concatenate string给串接起来。

最好是把前面板string显示的宽度缩小只能显示4个hex字节

然后下位机开机先,然后上位机开起来,你看下接收到的是什么

其实开发过程中有很多在自己预料之外的问题,遇到问题,能问论坛是好的,还有一个同样好的并且能锻炼自己的方法,就是针对问题,做一些猜测,然后基于这个猜测,做下实验。

具体到你的这个东东,我觉得,如果是3线的串口,那么,最好使用第九位,来区分下包的边界和内容。

其他的区分方式,在理论上讲,都是不可靠的???(问号表示这个是自己观点,欢迎指正!)

另外这里问个问题,就是lv下的visa串口是不是比mscomm慢一些?两年里遇到这样的问题两个了,不多,也不少,但值得怀疑。。。。知道的告诉下,3ks

haiming627 发表于 2009-9-16 19:09:59

麻烦解释一下这个程序的意思啊
页: [1]
查看完整版本: LabVIEW 串口