我发现了这行很好的代码:
serial_port_base::flow_control FLOW(serial_port_base::flow_control::none );
现在,我需要将 flow_control 设置为硬件流控制 - 我该如何做到这一点?
到目前为止还没有这方面的文档,我已经很伤心了,我不得不使用 Windows header 来解决发送中断信号的问题。
请告诉我至少有一种方法可以在不使用 Windows header 的情况下设置所有串行端口选项。
如果没有windows headers就没有办法,我也会在这里走肮脏的路,所以也请发布肮脏的例子。
最佳答案
如果您查看header file itself在 boost 文档中,您将找到类 flow_control
:
class flow_control
{
public:
enum type { none, software, hardware };
BOOST_ASIO_DECL explicit flow_control(type t = none);
type value() const;
BOOST_ASIO_DECL boost::system::error_code store(
BOOST_ASIO_OPTION_STORAGE& storage,
boost::system::error_code& ec) const;
BOOST_ASIO_DECL boost::system::error_code load(
const BOOST_ASIO_OPTION_STORAGE& storage,
boost::system::error_code& ec);
private:
type value_;
};
您应该能够在必须启用硬件流控制的函数调用中使用serial_port_base::flow_control::hardware
。
关于c++ - 如何在boost asio下将serial_port flow_control设置为none以外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13011282/