| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2546 人关注过本帖
标题:重叠 I/O 事件不在信号状态中
取消只看楼主 加入收藏
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:12 
重叠 I/O 事件不在信号状态中
这是我在对串口进行度操作的时候,遇到的错误。
谁能帮我解释一下这是什么意思,
2014-06-02 11:12
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
我对Windows下的这些东西不熟,怎样能把问题解决就好了。
我是先 调用的readFile对串口异步读,然后调用GetOverlappedResult来获取读的结果,但是没读到数据,并且GetLastError返回了这个错误。
2014-06-02 11:34
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
没有同时读, 只有一个线程在读
2014-06-02 11:40
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
信号状态怎么设置
2014-06-02 11:41
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
res = ReadFile (comm->hcomm, comm->rxbuf[(comm->rx+1) & 1],
//            MYCOMM_BUFF_SIZE, &tmp,
            6, &tmp,
            &comm->recvoverlapped);


    res = GetOverlappedResult (comm->hcomm, &comm->recvoverlapped,
                &cnt, FALSE);
   返回0, cnt为0, getLastError()为996,
2014-06-02 11:45
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
单线程不能解决问题,读只有一个线程,但是还要一个线程写,可能还要一个用来控制整个程序的状态。
2014-06-02 11:47
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
有时候需要非阻塞读写,如果不用异步读写可以做到这样么?
2014-06-02 11:50
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
串口肯定是可以同时进此读和写(读写数据线是单独的),只是不能同时读 或 同时写
我也并没有2个线程同时去读
2014-06-02 11:56
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
如果当前读不到数据,就直接返回,这肯定是可以的。
但是Windows下的API我不怎么会用。
2014-06-02 11:58
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
但读和写可能要同时进行,并且读的话要 驱动接受到了多少数据就读出多少数据,不要阻塞
2014-06-02 12:05
快速回复:重叠 I/O 事件不在信号状态中
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015944 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved