打印

整个程序就呈现“挂起”状态

[复制链接]
1482|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
宋倩2010|  楼主 | 2014-8-14 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我正在用VC开发68013的上位机程序,读写都没问题。其中,读我是用的定时器控制,每隔100ms去读一次USB数据。
     只是有一点很奇怪,只要下位机有数据发过来,我上位机读出来的当然没问题,但是如果下位机没有数据发过来,而我此时又去读了USB端口,那么整个程序就呈现“挂起”状态。
沙发
chenho| | 2014-8-14 14:09 | 只看该作者
关不掉是吧

使用特权

评论回复
板凳
宋倩2010|  楼主 | 2014-8-14 14:10 | 只看该作者
嗯,整个上位机程序呈现“无响应”,关也关不掉。

使用特权

评论回复
地板
yufe| | 2014-8-14 14:12 | 只看该作者
非得拔掉USB数据线啊

使用特权

评论回复
5
宋倩2010|  楼主 | 2014-8-14 14:15 | 只看该作者
是啊,我拔掉USB数据线,程序才自动关闭。

使用特权

评论回复
6
gongche| | 2014-8-14 14:18 | 只看该作者
你得问题是。。。

使用特权

评论回复
7
宋倩2010|  楼主 | 2014-8-14 14:20 | 只看该作者
如果USB没有数据发到端口,那么我读出来,会是什么呢?

使用特权

评论回复
8
huwr| | 2014-8-14 14:22 | 只看该作者
如果没有发送数据,那么USB读取数据就会阻塞在那里。

使用特权

评论回复
9
宋倩2010|  楼主 | 2014-8-14 14:24 | 只看该作者
用了读操作,返回的传输数据量应该为0吧?

使用特权

评论回复
10
宋倩2010|  楼主 | 2014-8-14 14:25 | 只看该作者
那也不至于整个系统好像是停在那里,等待数据的输入吧?

使用特权

评论回复
11
huanghuac| | 2014-8-14 14:29 | 只看该作者
为了使上位机不出现什么反应都没有状态,要启动多线程处理,这样就没问题了

使用特权

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

使用特权

评论回复
13
宋倩2010|  楼主 | 2014-8-14 14:33 | 只看该作者
嗯,好的,我知道了

使用特权

评论回复
14
李冬发| | 2014-8-14 19:22 | 只看该作者
使用异步方式的io吧,就不会“挂起”了

使用特权

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

本版积分规则

322

主题

3217

帖子

2

粉丝