【08】 Boost库学习笔记之异步通信(Serial)

来源:互联网 发布:寻仙3100端口 编辑:程序博客网 时间:2024/06/03 16:34
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


5 参考

使用Boost.asio编写通信程序

IO中同步、异步、阻塞、非阻塞的区别


0 0