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