2017-01-19 12 views
1

私はブーストASIOシリアルポートを使用しています。シリアルポートが開いているとき、私は、たとえば、パリティを設定することができます。ブースト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で呼び出されていますか?

答えて

2

ブーストはerror_codeインスタンスでシステムエラーをラップするだけです。

これは、基礎となるシステムコール(たとえば::tcsendbreak)が返すエラーコードです。

エラーが発生すると、大部分の非同期操作はbytes_transferredになります(特に指定しない限り)。

関連する問題