Boost串口通信 boost::asio::serial_port基本使用

本文介绍如何使用Boost库中的ASIO模块进行串口通信。包括创建io_service实例、构造serial_port对象、设置串口参数及数据读写操作等步骤,并提供了一个同步读取数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值