串口通信c++ Linux

Serial Port Communication C++ Linux

本文关键字:Linux c++ 通信 串口      更新时间:2023-10-16

我正在寻找一个易于使用的c++库来与Linux下的串口对话。

我看了看Boost::Asio,但是对于我的一点点使用来说,它看起来太复杂了。我只是想接收一些关于串口的信息,并将它们记录在数据库中。

你知道一个简单的串行端口库(有一个例子,这将是最好的)

谢谢

亚洲真是个好地方。问题是它的文档太复杂,排列不规律。如果你只需要做最简单的串行端口编程,你不需要使用所有的高级功能。

串口阻塞I/O的示例。

static boost::asio::io_service ios;
boost::asio::serial_port sp(ios, "/dev/ttyS2");
sp.set_option(boost::asio::serial_port::baud_rate(115200));
// You can set other options using similar syntax
char tmp[64];
auto length = sp.read_some(boost::asio::buffer(tmp));
// process the info received
std::string message = "hello, world";
sp.write_some(boost::asio::buffer(message));
sp.close();

RS232 is used for serial communication.您可以参考此链接,或者您可以尝试Boost Asio的串行端口并将其编译成与C应用程序链接的库。它声称是POSIX兼容的,而OSX就是POSIX。

您需要的大部分内容将在termios.h标头中。请看这里。