boost asio中的串行端口奇偶校验检查失败

时间:2017-01-19 12:06:35

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

我使用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

1 个答案:

答案 0 :(得分:2)

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

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

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