boost库使用串口

一、使用普通指针

1. 头文件声明

1
2
3
boost::system::error_code error_code_;
boost::asio::io_service io_service_;
boost::asio::serial_port *serial_port_;

2. 使用new分配内存

创建串口然后使用open开启

1
2
serial_port_ = new boost::asio::serial_port(io_service_);
serial_port_->open(port_name_, error_code_);

或者直接开启

1
serial_port_ = new boost::asio::serial_port(io_service_, port_name_);

3. 释放内存

1
delete serial_port_;

二、使用共享指针

1. 头文件声明

1
2
3
boost::system::error_code error_code_;
boost::asio::io_service io_service_;
std::shared_ptr<boost::asio::serial_port> serial_port_;

2. 使用make_shared分配内存

创建串口然后使用open开启

1
2
serial_port_ = std::make_shared<boost::asio::serial_port>(io_service_);
serial_port_->open(port_name_, error_code_);

或者直接开启

1
serial_port_ = std::make_shared<boost::asio::serial_port>(io_service_, port_name_);

3. 释放内存

使用智能指针不需要delete释放内存