Прочитайте некоторые данные из последовательного порта.
template<
    typename MutableBufferSequence>
std::size_t read_some(
    const MutableBufferSequence & buffers);
Эта функция используется для считывания данных из последовательного порта. Функциональный вызов блокируется до тех пор, пока один или несколько байтов данных не будут успешно прочитаны или пока не произойдет ошибка.
- buffers
 
Один или несколько буферов, в которые будут считываться данные.
 
 
Количество прочитанных байтов.
- boost::system::system_error
 
Выброшен на провал. Код ошибки<boost::asio::error::eof>указывает, что соединение было закрыто сверстником.
 
 
Операция read_some может не считывать все запрашиваемое количество байтов. Подумайте об использовании функции<read>, если вам нужно убедиться, что запрошенный объем данных считывается до завершения операции блокировки.
Для считывания в единый буфер данных используется функция<buffer>:
serial_port.read_some(boost::asio::buffer(data, size));
Смотрите документацию<buffer>для информации о считывании в несколько буферов за один раз, и как использовать ее с массивами, нарастить::array или std::vector.