繁体   English   中英

boost :: asio :: serial_port和RTS引脚

[英]boost::asio::serial_port and RTS pin

我想通过使用c ++程序来控制仪器的操作。

如何使用boost asio库将RTS引脚设置为逻辑true或逻辑false? 这是用于RS-232串行端口的。

我最终使用Windows api(特定于OS)方法解决了我的问题。

#include <iostream>

#include <cstdlib>
#include <string>
#include <windows.h>

namespace comm{

class rs232
{
  const HANDLE commDevice;
  const DWORD clear_RTS = 4;
  const DWORD set_RTS = 3;

public:
  rs232( HANDLE commDeviceIn ): commDevice(commDeviceIn)  {}
  rs232( std::string commName )
      : commDevice(CreateFileA(commName.data(),
                               GENERIC_READ | GENERIC_WRITE,
                               0,
                               0,
                               OPEN_EXISTING,
                               FILE_FLAG_OVERLAPPED,
                               0))  {}

  void send_RTS_signal( void ) {
      EscapeCommFunction( commDevice, set_RTS );
  }
  void clear_RTS_signal( void ) {
      EscapeCommFunction( commDevice, clear_RTS );
  }
};

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM