串口通信C ++ Linux

时间:2014-05-07 13:32:10

标签: c++ linux serial-port g++

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

我看了Boost :: Asio,但对于我的小用途来说看起来很复杂。 我只想在串口上收到一些信息,并将它们记录在数据库中。

你知道一个简单的Serial Port librairie(有一个例子,它会是最好的)

谢谢

3 个答案:

答案 0 :(得分:6)

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();

答案 1 :(得分:2)

RS232 is used for serial communication.您可以参考此link或者您可以尝试Boost Asio's serial ports并将其编译到要与您的C应用程序链接的库中。它声称与POSIX兼容,OSX是POSIX。

答案 2 :(得分:1)

您需要的大部分内容都在termios.h标题中。看看here