asio编写串口通信

#include <iostream>
#include<boost/asio.hpp>
#include <string>

int main()
{
    boost::asio::io_context ios;
    std::string buffer;
    buffer.resize(1024);

    boost::asio::serial_port ser_port(ios);
    ser_port.open("COM1");
    ser_port.set_option(boost::asio::serial_port::baud_rate(9600));//比特率

    ser_port.set_option(boost::asio::serial_port::flow_control(boost::asio::serial_port::flow_control::none));//流量控制

    ser_port.set_option(boost::asio::serial_port::parity(boost::asio::serial_port::parity::none));//奇偶校验

    ser_port.set_option(boost::asio::serial_port::stop_bits(boost::asio::serial_port::stop_bits::one));//停止位

    ser_port.set_option(boost::asio::serial_port::character_size(8));//数据位
    
    ser_port.async_write_some(boost::asio::buffer("123"), 
        [](const boost::system::error_code& ec, size_t bytes_send) {
            if (ec){
                return;
            }


        });

    ser_port.async_read_some(boost::asio::buffer(buffer),
        [](const boost::system::error_code& ec, size_t bytes_transferred) {
            if (ec) {
                return;
            }


        });

    boost::system::error_code ec;
    ios.run(ec);
}

猜你喜欢

转载自blog.csdn.net/qq_53332653/article/details/114872472