如何通过Linux上的C ++串行接口与Arduino进行通信?

时间:2008-10-03 22:47:43

标签: c++ linux serial-port arduino rfid

我有一个连接到Arduino板的RFID阅读器。我想通过它的串行接口连接它,每当RFID阅读器省略信号时(当它读取(RF)ID时),我想在我的C ++程序中检索它。

我已经有了从Arduino打印RFID到串口的代码。

我不知道的是如何在Linux中从C ++ 中读取它?

我看过 libserial ,看起来很简单。但是,我怎样才能让C ++程序对信号做出反应然后读取RFID ,而不是连续收听?这有必要吗?

编辑:在我读过的大多数例子中,(c ++)程序发送输入,并接收输出。我只是想听听并收到Arduino的输出。

4 个答案:

答案 0 :(得分:6)

在unix上,您使用select()调用来等待输入。 select()调用就像一个睡眠 - 在内核收到硬件中断并触发select()之前不使用CPU。

http://tldp.org/HOWTO/Serial-Programming-HOWTO/index.html

答案 1 :(得分:3)

我找到了Boost :: Asio库,它从串行接口异步读取。 Boost::Asio Documentation

答案 2 :(得分:1)

Arduino Playground中Interface部分的Communications部分有几个接口示例,其中一个是Arduino作为Linux TTY。

在Arduino网站上试用Syntax and Programs论坛和{​​{3}}论坛。过去曾讨论过与许多不同语言和计算机的接口。

最后查看Software DevelopmentProcessing网站。 Arduino IDE基于Processing语言,Wiring环境和开发板与Arduino相关。这两个站点都有更多的示例和更多资源的链接。

编辑:我刚才意识到我没有回答你的实际问题。这些都是一般的通信资源,但有些可能暗示如何提醒计算机新的RFID输入。

答案 3 :(得分:0)

您好我为此创建了一个简单的库: cArduino https://github.com/ranma1988/cArduino C ++可以找到自动查找连接Arduino端口,读取,写入