串口通信 C++ Linux

5
我正在寻找一个易于使用的C++库来在Linux下与串口进行对话。
我看了Boost::Asio,但对我的需求来说似乎过于复杂。 我只想在串口上接收一些信息并将它们记录在数据库中。
你知道一个简单的串口库(最好有示例)吗?
谢谢!
3个回答

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

2

RS232被用于串行通信。 你可以参考这个链接或者尝试使用Boost Asio的串口并将其编译成库与你的C应用程序链接。它声称与POSIX兼容,而OSX是POSIX。


1
大多数你需要的内容都在termios.h头文件中。请看这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接