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
时间: 2024-12-10 11:29:58