我使用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答案 0 :(得分:2)
Boost只是在error_code
实例中包装系统错误。
所以它是底层系统调用(如::tcsendbreak
)返回的错误代码。
发生错误时,大多数异步操作都会指定bytes_transferred
未指定(除非,显然另有说明)。