c – 提升异步读/写失败,“系统资源不足,无法完成所请求的服务”
我(似乎)随机得到错误:
使用boost :: asio :: async_read_until或boost :: asio :: async_write时使用串口. 将串行端口声明为: boost::asio::serial_port mSerialPort; 发生此错误后,我尝试了 try { mSerialPort.cancel(); mSerialPort.close(); } catch(boost::system::system_error error) { ; } 其中一个(不确定哪个)挂起并且永不返回,甚至没有抛出异常. 一般来说,这个错误意味着什么? 有人遇到过这个问题吗?我应该调查任何方向吗? 编辑: 有问题的串口使用USB仿真器. 关于这个other SO Question,特别是Hans Passant的评论,这个错误是否可能与设备驱动程序有关?我使用相同的代码与另一个硬件组件,从来没有得到这种行为. 编辑2: 在Web上搜索此特定错误消息时,通常建议增加分页池内存,如下所述: Microsoft Support Article 在我的情况下这样做有什么意义吗? 解决方法
自从我使用Windows上的串行端口以来,已经很长很长时间了,所以请记住这一点.在历史上,在NT 4.0天,大多数串行端口驱动程序从官方NT内核DDK指南中删除都无法正确执行异步i / o,并且会不时出现您的确切错误和/或锁定.解决方案是只使用串行i / o的同步i / o,它正常工作.如果基于USB的串行端口的驱动程序最初是古老的,它可能会复制此问题.
我还要确保你使用与已知工作模式相同的设计模式.以http://www.ridgesolutions.ie/index.php/2012/12/13/boost-c-read-from-serial-port-with-timeout-example/为例.希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ios – 如何在不使用Assistant编辑器的情况下将IBOutlet和I
- swift开发笔记6 - 在表格单元格中添加按钮
- objective-c – Mac OS X相当于SecureZeroMemory / RtlSecu
- oracle批量操作
- ruby-on-rails – Rails / Active支持“to_sentence”已弃用
- ajax post中在firefox返回值一个值得注意的地方
- 有没有任何跨平台的方式来验证xml与xsd在JavaScript?
- xml – 如何使用xpath从节点获取属性值?
- 我可以判断一个方法是否需要在ruby中返回一些东西?
- XML---<merge/> 和 <include/>