Как общаться с Arduino через его последовательный интерфейс в C ++ в Linux? - PullRequest
7 голосов
/ 04 октября 2008

У меня есть RFID-считыватель, подключенный к плате Arduino. Я хотел бы подключиться к нему через последовательный интерфейс, и всякий раз, когда RFID-считыватель пропускает сигнал (когда он прочитал (RF) ID), я хотел бы получить его в моей программе на C ++.

У меня уже есть код для простой печати RFID на серийный номер с Arduino.

Чего я не знаю, так это как читать его с C ++ в Linux?

Я посмотрел на libserial , который выглядит просто. Однако как я могу заставить программу C ++ реагировать на сигнал и затем читать RFID вместо непрерывного прослушивания? Это необходимо?

РЕДАКТИРОВАТЬ: В большинстве примеров, которые я прочитал, программа (c ++) отправляет ввод и получает вывод. Я просто хочу слушать и получать выходные данные от Arduino.

Ответы [ 4 ]

6 голосов
/ 04 октября 2008

В Unix вы используете вызов select () для ожидания ввода. Вызов select () действует как спящий режим - без использования ЦП, пока ядро ​​не получит аппаратное прерывание и не вызовет select ().

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

3 голосов
/ 05 октября 2008

Я нашел библиотеку Boost :: Asio, которая читает с последовательных интерфейсов асинхронно. Boost :: Asio Documentation

1 голос
/ 04 октября 2008

Часть Communications раздела Interface в Arduino Playground имеет несколько примеров взаимодействия, в том числе один с Arduino как Linux TTY.

Попробуйте форум Синтаксис и программы и форум Разработка программного обеспечения на сайте Arduino. В прошлом обсуждались вопросы взаимодействия с различными языками и компьютерами.

И, наконец, проверьте Обработка и Подключение сайтов. Среда Arduino IDE основана на языке обработки, а среда Wiring и доска разработки связаны с Arduino. На обоих сайтах гораздо больше примеров и ссылок на еще больше ресурсов.

Редактировать: Я только что понял, что не ответил на ваш настоящий вопрос. Это все общие коммуникационные ресурсы, но некоторые могут иметь советы о том, как предупредить компьютер о новом входе RFID.

0 голосов
/ 15 июля 2014

Привет, я создал для этого простую библиотеку: cArduino https://github.com/ranma1988/cArduino C ++ может найти автоматический поиск подключить Arduino порт, читать, писать

...