pingker 发表于 2007-8-8 08:54:50

串口相关

小弟目前在做一个跟单片机通讯的上位机程序,先给单片机发送5个字节的数据,然后他会返回5个字节的数据,我开始用VISA对其操作,我发现他对返回信息都可以读出5个字节,但VISA读取的时候他对有些地址返回的信息总会漏掉2个几个不读,然后我需要在后面再加一个VISA来把他读出来,
所以我现在还是不明白为什么会出现这种情况…………希望那位大哥能帮小弟解释一下
最后我又用MSCOMM32来做,我发现发送过去的数据都是对的,但他就是不返回任何信息,(注:我用串口调试工具测试正常)
我也弄不明白了

飞雨天 发表于 2007-8-8 10:02:36

返回什么数据?贴上来看看

pingker 发表于 2007-8-8 14:59:49

其实返回的数据正常
我这边返回的 用十六进制表示: AA20 0A   后面还漏掉了两个字节 0000
有的会漏掉一个字节

pingker 发表于 2007-8-8 15:02:00

正常显示就是:AA20 0A00 00
其实我用VB,和串口工具调试后都返回的数据正常

飞雨天 发表于 2007-8-8 15:26:57

我就知道是0A,在visa configure serial port.vi里,0A是用来表示结束字符的,而且默认结束字符有效,你可以设置下,使得结束字符为disable就可以了

pingker 发表于 2007-8-8 15:59:40

呵呵,问题解决,我现在还是想解决,MSCOMM32的问题,这个是为什么啊

飞雨天 发表于 2007-8-8 16:24:09

不好意思,这个我没用过,你可以把程序发上来,大家会帮你看下

pingker 发表于 2007-8-9 08:32:13

附件里面是 VISA 和COMM32两种通讯方式,VISA的会返回数据,MCOMMM32的不会返回,用串口工具可以看出他们发出去的数据都一样的

cwyxf1015 发表于 2007-8-9 08:55:15

读取的时间够长吗?如果单片机发送时,每两个字节间的时间长一点,总时间超过了VISA的读取时间,那么后面的可能读不到。

pingker 发表于 2007-8-9 09:19:30

时间够的,单片机返回的时间很短的

飞雨天 发表于 2007-8-9 10:18:36

我看了下,你两个程序基本是一样的,唯一的区别是mscom这个好象没有给comport这个property赋值,默认是0,我不知道和com1是不是对应的

pingker 发表于 2007-8-9 13:28:27

你说的这么comport这个property赋值是哪个属性?这个控件里面很多属性,我没能完全理解?大哥能告诉我吗

飞雨天 发表于 2007-8-9 13:30:25

你可以到\windows\help\comm98.hlp去看下

pingker 发表于 2007-8-9 15:14:15

大哥有QQ吗?我想跟大哥在QQ上联系比较方便我的QQ:251973477

飞雨天 发表于 2007-8-9 16:03:46

嘿,不好意思,mscom我昨天看了你的帖子才去了解了下,可能帮不上你的忙
页: [1]
查看完整版本: 串口相关