#include <iostream>
#include<boost/asio.hpp>
#include <string>
int main()
{
boost::asio::io_context ios;
std::string buffer;
buffer.resize(1024);
boost::asio::serial_port ser_port(ios);
ser_port.open("COM1");
ser_port.set_option(boost::asio::serial_port::baud_rate(9600));//比特率
ser_port.set_option(boost::asio::serial_port::flow_control(boost::asio::serial_port::flow_control::none));//流量控制
ser_port.set_option(boost::asio::serial_port::parity(boost::asio::serial_port::parity::none));//奇偶校驗
ser_port.set_option(boost::asio::serial_port::stop_bits(boost::asio::serial_port::stop_bits::one));//停止位
ser_port.set_option(boost::asio::serial_port::character_size(8));//資料位
ser_port.async_write_some(boost::asio::buffer("123"),
[](const boost::system::error_code& ec, size_t bytes_send) {
if (ec){
return;
}
});
ser_port.async_read_some(boost::asio::buffer(buffer),
[](const boost::system::error_code& ec, size_t bytes_transferred) {
if (ec) {
return;
}
});
boost::system::error_code ec;
ios.run(ec);
}