【发布时间】:2010-10-07 03:57:04
【问题描述】:
我在从 GPS 设备(USB 串行)读取 boost::asio::serial_port 类时遇到问题。连接设备并从中读取工作正常,但是当我断开并重新连接设备时,read_some 不会从端口读取任何字节。
由于 boost 无法检测到串行端口已消失( is_open() 返回 true ),因此当我没有获取数据时,我会定期取消()、关闭()和打开( GPS_PORT )设备,重置途中的港口选项。但这也无济于事,输入缓冲区保持为空。
我是否遗漏了什么,或者做错了什么,或者这是 asio 中的错误?是否有检测端口消失的标准方法?
【问题讨论】:
标签: c++ boost serial-port boost-asio