串行端口奇偶校验检查在升压 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));

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

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

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

出错时,大多数异步操作bytes_transferred未指定(除非显然另有指定)。

最新更新