我正在寻找一个易于使用的C ++ librairie来与Linux下的串口对话。
我看了Boost :: Asio,但对于我的小用途来说看起来很复杂。 我只想在串口上收到一些信息,并将它们记录在数据库中。
你知道一个简单的Serial Port librairie(有一个例子,它会是最好的)
谢谢
答案 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。