На каком языке пишут код для ардуино?
Решил узнать на чём пишется код для ардуино, гугл говорит что на С\С++. Но я не пойму, на котором из них? Или может быть на обоих?
Ответы (3 шт):
В Arduino IDE можно писать на любом из них.
Теоретически можно писать вообще на любом компилируемом языке, был бы компилятор под платформу.
Вот тут обсуждают, как разговаривать с Ардуино из питона: https://realpython.com/arduino-python/
Вкратце, вместо обычной загрузки кода на плату предлагается, чтобы на компе крутился код на питоне, который будет разговаривать с Ардуино, забирая оттуда сигналы и подавая команды при помощи скетча Firmata и модуляpyfirmata.
Ардуиновский "рантайм", если можно так выразиться, написан на урезанном C++. Собственно, я бы советовал писать скетчи на C++, а в случае необходимости "спускаться" до ассемблера. По-факту же, вы можете использовать практически любой язык. Например, есть возможность "зашить" в Arduino движок Espruino и писать на JavaScript. Если интересно как это сделать, то можете почитать статью Espruino: JavaScript в микроконтроллере. Но учтите, что использование интерпретируемых языков добавляет много накладных расходов, что не всегда приемлемо.
Спасибо @insolor за уточнение:
Espruino не заработает на Arduino, только на более мощных контроллерах - например на STM32 (упоминаемые по второй ссылке Espruino Board, Espruino Pico, Iskra JS реализованы на контроллерах семейства STM32), ESP8266, ESP32