首页 > 代码库 > boost 串口通信

boost 串口通信

boost库有一个asio,支持串口通信。

步骤:

  1、产生一个boost::asio::io_service(前摄模式,类似于完成端口,不过,可以针对不同IO对象)

  2、构造一个boost::asio::serial_port,有两种方法:

      (一)boost::asio::serial_port m_serialPort(m_IoService, "COM1");

      (二)boost::asio::serial_port m_serialPort(m_IoService);

         m_serialPort.open("COM1");  

  3、设置串口参数:波特率、奇偶校验 位、停止位、字符大小和流量控制,通过set_option方法 

    • boost::asio::serial_port::baud_rate      波特率
    • boost::asio::serial_port::parity            奇偶校验,可以为serial_port::parity::none / odd / even。
    • boost::asio::serial_port::flow_control      流量控制, 可以为serial_port::flow_control::type,enum类型,可以是none software hardware
    • boost::asio::serial_port::stop_bits          停止位,    可以为serial_port::stop_bits::one /onepointfive /two
    • boost::asio::serial_port::character_size   字符大小

  4、数据读写

    read_some

    write_some

      async_read_some

    async_write_some