@Filipp42

Какие есть альтернативные языки и среды для программирования Arduino?

Для Ардуино основная среда разработки работает с диалектом C++. Есть ли какие-то альтернативные языки? Можно список? Меня больше всего интересует, как они подключают написанные на Си библиотеки?
Заранее спасибо!
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 5
vabka
@vabka
Токсичный шарпист
Можно работать с Arduino не как с Arduino, а как с тем чипом, который в ней стоит - тогда можно будет использовать любой язык, который может запускаться на целевой архитектуре (AVR, arm, итд).
Среды разработки будут соответствующие.
Если используется си, то подключение сишных библиотек будет вполне очевидным.
Иначе используется ffi специфичный для конкретного языка. (например в случае rust можно использовать bindgen)

Также для Arduino есть среда разработки Platformio - там используется также язык arduino, который C++, но писать будешь не в убогом стандартном редакторе, а в vscode
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Есть ИМХО что arduino ide жутко тормознутое.
Поэтому джедаи используют любой блокнот и gcc.
Некоторые вообще используют ассемблер.
Из экзотики видел проект где можно писать на C# и получать типа код для 328.

Но в общем то выбор не велик.
Ответ написан
NeiroNx
@NeiroNx
Программист
Eсть интерпритируемые языки nodemcu(LUA 5.1) и Micropython(Python 2.7 с натяжкой) еще Mongoose OS(JavaScript version 6) - все они работают путем загрузки ядра и запуска консоли на данном языке(плюс запуск файла по умолчанию из файловой системы). Имеется файловая система на пару мегабайт(в свободной области флеш памяти), код можно компилировать в байткод на самом контроллере(просто занимает меньше),
библиотеки у них вкомпилены в ядро - в основном есть все популярные драйвера перефирии. Есть мануал как что-то свое подключить - по сути достаточно лишь описать какие функции будут доступны в языке высокого уровня и их типы данных.

работает это не быстро - но задач можно решить много.
Ответ написан
Комментировать
nava2002
@nava2002
Инженер
Рационально использовать контроллер можно только на языках С++ и Assembler.
Компилятор С++ в Arduino IDE такой же как в Atmel Studio (он же в Visual Studio) со всем набором доступных инструментов.
Все остальные варианты языков программирования не поддерживаются изготовителем и носят образовательный характер.

P.S. Так как Arduino использует "заводской" компилятор C++, можно использовать многие конструкции описанные в последней модификации языка ( 11, 14, возможно и 17).
В теле программы на С++ можно использовать команды Assembler, они будут успешно выполняться (иногда это нужно).
Ответ написан
@vanyamba-electronics
Платы Iskra JS можно программировать на языке JavaScript.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы