sol13 30.04.2011 16:49
Arduino — Работа с Serial port(Часть 1)
Я очень часто, а если быть точнее, постоянно работаю с микроконтроллерами, пишу код для atmeg или для быстроты разработки, пишу для arduino. Так же я начал учить perl, учусь использовать его в нужных мне целях. В данной "заметке" я попытаюсь рассказать как с помощью простой программки на perl можно управлять выходами на плате arduino.И так начнем. У нас есть Arduino Duemilanove которая подключается через usb к ноутбуку, для того чтобы отправить ей какие-нибудь данные можно воспользоваться библиотекой SerialPort:
А для того, чтобы все заработало на "железе" нам нужно залить на ардуино программу, которая будет считывать значения с серийного порта:
Данная программа при получении 1 будет мигать светодиодом на 13 порту.
Вроде все просто.
В следующей "заметке" постараюсь описать процесс чтения данных с серийного порта из perl. Будем получать координаты серво-машинки.
Тэги: perl arduino
kma21 02.05.2011 02:06 #
+ 0 -
Cut пожалуйста.
Ну вроде же и под 5.10 "use Switch" работает. Только вот что проверял. Больше вроде никаких фич не юзается, так что не нужно же ничего переписывать. Или я что-то упустил?
Вроде все так же, вот код на 5.10 без свитча:
Вы заблуждаетесь. Это перл 6, но никак не 5, и не 5.10 в том числе.
В перле 5.10 given/switch работают при use Switch:
use Switch 'Perl6'; — для given, use Switch; — для switch.
А вот это, вообще без нужных use, даёт такое:
perl test.pl:
syntax error at /home/kstep/test.pl line 5, near "1 when"
syntax error at /home/kstep/test.pl line 6, near "last POLL when"
Execution of /home/kstep/test.pl aborted due to compilation errors.
В перле 5.10 given/switch работают при use Switch:
use Switch 'Perl6'; — для given, use Switch; — для switch.
А вот это, вообще без нужных use, даёт такое:
1 2 3 4 5 6 7 8 9 |
perl test.pl:
syntax error at /home/kstep/test.pl line 5, near "1 when"
syntax error at /home/kstep/test.pl line 6, near "last POLL when"
Execution of /home/kstep/test.pl aborted due to compilation errors.
Debian Wheezy, perl --version:
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
(with 53 registered patches, see perl -V for more detail)
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
(with 53 registered patches, see perl -V for more detail)
Расскажите, под чем и как крутиться программа непосредственно на целевой платформе.
Просто текст программы у меня вызвал вопросы тем, что отсутствуют директивы include и точка входа в программу.
Просто текст программы у меня вызвал вопросы тем, что отсутствуют директивы include и точка входа в программу.
Это язык программирования Wiring - обертка для C. Крутится на Ардуино - Atmega8/168/328 с обычной обвязкой и выведенными портами.
Поэтому, хоть синтаксис и С-подобный, но include и точка входа не требуются.
Поэтому, хоть синтаксис и С-подобный, но include и точка входа не требуются.
Не силён в программировании на Perl, но с микроконтроллерами (в т.ч. AVR без Arduino) дело имею. Для отладки обычно пользуюсь терминалами для последовательных портов. Эхо обычно организовываю со стороны микроконтроллера. Самое простое из используемого мною - Tiny serial terminal - рекомендую.