Официальный сайт компании Arduino по адресу arduino.cc
Посылать информацию ою активности портов во внешнюю программу
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 23/01/2012 - 21:54
Пишу add-on к одной программе. Нужно получать данные от Arduino об активности того или иного выхода (14 выходов). High или Low. Чтобы Arduino посылала по serial port информацию о том, какой из портов сейчас активен. Вот, думаю, как это сделать, в какой форме посылать. У кого какие мысли?
http://arduino.cc/en/Tutorial/DigitalReadSerial
А нельзя это каким-то другим образом проверить? Причина - нужно чтобы на arduino в этот момент работали другие программы
А нельзя это каким-то другим образом проверить?
Что проверить?
Причина - нужно чтобы на arduino в этот момент работали другие программы
какие программы?
Попытаюсь объяснить подробнее. Пишу курсовую на эту тему. Нужно написать графический блок для scilab (аналог matlab), который бы изображал в arduino в среде симуляции scilab. Чтобы проводить различный эксперементы с arduino, например с ПИД. Нужно, что информация на входах и выходах физического arduino отображалась также и в этом графическом блоке на его входах и выходах.
Как говорит один мой знакомый:
Если понятие минимальное, а задачи высоки.. - лучше сменить занятие..:)
нужно чтобы на arduino в этот момент работали другие программы
Что значит "в этот момент"? Любой микроконтроллер выполняет инструкции строго одну за другой и, строго говоря, ваша задача получается неразрешимой. В том виде, в котором вы ее сформулировали.
Но возможно вы говорите об одновременности с человеческой точки зрения и для "других программ" не случится ничего страшного, если они постоят несколько микросекунд в ожидании своей очереди на обработку? Ну так организуйте некое подобие "взрослой" операционной системы с поочередным выделением ресурвос всем программам, которые будут крутиться у вас в мк:
- прочитали за полсотни тактов значения регистров ввода,
- выполнили несколько операций, необходимых для "других программ"
- вывели информацию в регистры вывода
- выполнили несколько операций по обработке команд или данных от "других программ"
- перешли на первый шаг
Будет у вас четыре или тридцать четыре шага, подобных представленным мною - будет зависеть от того, что же конкретно вы хотите от микроконтроллера.
Удастся ли с нужной для всех исполняемых программ скоростью обрабатывать информацию - зависит от выбранного мк, от ваших аппетитов и от вашего умения запрограммировать все достаточно экономным образом.
Так что определитесь с самым необходимым минимумом тех функций, которые должны быть реализованы, определитесь, как часто (с какой скоростью, в какие моменты, ...) должны выполняться эти функции и начинайте формулировать свою задачу. Но не в описательном стиле - забудьте об уроках литературы - а в терминах микроконтроллера, в терминах процедурных языков. Что-то вроде
- получить то-то оттуда-то
- сделать то-то с тем-то
- передать то-то туда-то
Не получится это сделать - тогда действительно:
Как говорит один мой знакомый:
Если понятие минимальное, а задачи высоки.. - лучше сменить занятие..:)
читаем про таймер
http://www.compcar.ru/forum/showpost.php?s=a738901a07edb23cc8937009a6cb0...