【问题标题】:Serial port parity check failed in boost asioboost asio 中的串行端口奇偶校验检查失败
【发布时间】:2017-01-19 12:06:34
【问题描述】:

我使用 boost asio 串口。当串口打开时,我可以设置奇偶校验,例如:

boost::asio::serial_port_base::parity::even

然后我开始读取一个串口:

serialPort_.async_read_some(boost::asio::buffer(serialPortData_),
boost::bind(&MySerialPort::readComplete, this,
boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));

奇偶校验失败时会发生什么?是否以特定错误(哪个?)和 bytes_transferred = 0 调用 readComplete?

【问题讨论】:

    标签: c++ linux boost serial-port boost-asio


    【解决方案1】:

    Boost 只是将系统错误包装在 error_code 实例中。

    所以它是底层系统调用(如::tcsendbreak)返回的任何错误代码。

    发生错误时,大多数异步操作都会使bytes_transferred 未指定(除非另有明确说明)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      • 2019-12-03
      • 2011-06-27
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      相关资源
      最近更新 更多