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