打印

68013中上位机读取端口数据遇到的问题

[复制链接]
3098|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大洋芋|  楼主 | 2011-12-5 22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我正在用VC开发68013的上位机程序,读写都没问题。其中,读我是用的定时器控制,每隔100ms去读一次USB数据。
     只是有一点很奇怪,只要下位机有数据发过来,我上位机读出来的当然没问题,但是如果下位机没有数据发过来,而我此时又去读了USB端口,那么整个程序就呈现“挂起”状态。整个上位机程序呈现“无响应”,关也关不掉。然后我拔掉USB数据线,程序才自动关闭。
     所以在这里我想问问有经验的大侠:
     1、如果USB没有数据发到端口,那么我读出来,会是什么呢?
     2、用了读操作,返回的传输数据量应该为0吧?那也不至于整个系统好像是停在那里,等待数据的输入吧?
沙发
japrincess| | 2011-12-5 23:15 | 只看该作者
http://download.csdn.net/download/hechaohit/2939384,USB68013数据采集上位机软件

使用特权

评论回复
板凳
大洋芋|  楼主 | 2011-12-27 15:04 | 只看该作者
过了很久了,才想起回帖的事情。对不起。
尽管2楼给出的答案并不是我想要的,但是您捧我的场,我肯定还是要感谢你的。分就给你吧。
我来回答一下自己,给后来者提供一些参考:
如果没有发送数据,那么USB读取数据就会阻塞在那里。为了使上位机不出现什么反应都没有状态,要启动多线程处理,这样就没问题了

使用特权

评论回复
地板
287075766| | 2011-12-27 15:29 | 只看该作者
在上位机中启用线程当然也是一种方法,在CYAPI中的端点类中你可以设置Timeout这个参数,如果参数为0的话,就一直等待,直到收到数据位置,Timeout是从0到1000的,单位是ms,希望可以帮助到你!

使用特权

评论回复
5
winkle.zhang| | 2012-5-12 20:23 | 只看该作者
我也遇到这个问题了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

1

粉丝