又出问题了,关于串口通信的
我今天在调试之前做的一个系统时,偶然发现一个很奇怪的现象:串口配置一切正常,却接受不到数据,而把程序关掉重开或者重新选择一下串口的话就又可以正常接收了,请问有没有遇到过类似的问题的,你们又是怎么解决的?急! 额没搞过那个东西 你们是高手啊 是不是本身就打开失败。打开时判断一下状态再打开,有问题再提示重新打开。 不是,正常情况下或者说绝大多数情况下数据可以接受到!但偶尔会接受不到,我找了一下原因,发现函数GetInQLen()得到的字符数为0,可是我确定串口内有字符,这是什么原因呢?我专门看了一下有关的例子,发现王建新版本的书上用了函数InstallComCallback(),这是一定要用的吗? 你不是用事件?用事件最好了。一收到就反应。 budong 我换电脑试过后,甚至出现了正在采的过程中突然采集不到数据了,这让我更加疑惑了
会不会是这样的现象呢?串口的传送并不稳定,所以会出现读取不到数据的现象
怎么可以避免这种现象呢? 有无外部拔插或电源冲击导致串口死机。 没有,就是正常采集的情况下,没有进行其他任何操作 兄弟啊,设断点调试,查看变量的变化过程.怎么说呢?我是做通信电源测试的,常用串口,串口有时是会出现不稳定的情况的,一般是将指令多发几次,如果是偶尔出现这样的情况的话就比较麻烦了. 不是,正常情况下或者说绝大多数情况下数据可以接受到!但偶尔会接受不到,我找了一下原因,发现函数GetInQLen()得到的字符数为0,可是我确定串口内有字符,这是什么原因呢?
我专门看了一下有关的例子,发现王建新 ...
wangyuhui727 发表于 2009-4-1 14:57 http://www.cpubbs.com/bbs/images/common/back.gif
1、InstallComCallback()函数并不是一定要用,但是用它会有很多好处!
2、你是如何确定串口缓冲区内有数据的?!
3、这种问题,最好的方法是把程序传上来,才好分析! 首先我要说对不起,恕我不能上传程序了,因为这是我们公司几位同事开发的一个系统,我只是帮忙调试上位机程序,不好意思
我之所以这么肯定串口缓冲区内有数据,是因为我们公司做下位机程序的工程师给了我肯定的答案 串口有时是会出现不稳定的情况的,一般是将指令多发几次,如果是偶尔出现这样的情况的话就比较麻烦了.
hcwz 发表于 2009-4-2 19:40 http://www.cpubbs.com/bbs/images/common/back.gif
将指令多发几次?一般是什么指令? 首先我要说对不起,恕我不能上传程序了,因为这是我们公司几位同事开发的一个系统,我只是帮忙调试上位机程序,不好意思
我之所以这么肯定串口缓冲区内有数据,是因为我们公司做下位机程序的工程师给了我肯定的答案
wangyuhui727 发表于 2009-4-3 09:42 http://www.cpubbs.com/bbs/images/common/back.gif
这种情况就无能为力了!
我自己做过CVI串口与DSP通讯的程序,无论调试或实际使用中,还没有出现过像你所说的情况。
页:
[1]
2