Boost串口通信 boost::asio::serial_port基本使用
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");
例如:
using namespace boost::asio;
io_service iosev;
serial_port sp(iosev, "/dev/ttyUSB0");
注意这种方式打开,如果串口没有准备好,会导致程序抛异常,导致程序崩溃,所以应该要try{} catch包含,或者使用如下的方式
boost::system::error_code ec;
serial_port sp(iosev);
m_serialPort.open(