Как программировать arduino с С++

Так что в последнее время я играл с моим ардуино, и мне было интересно, есть ли способ программирования ардуино на С++. То, что я делал, это программирование с использованием языка С++/обработки в vim и использование make файла для компиляции и загрузки в arduino. Но моя цель - использовать классы и все отличные возможности С++ (или, по крайней мере, сумму) для ее программирования. В конце концов, я даже хотел бы запрограммировать его в raw c, и у меня просто возникают проблемы с выяснением того, как это сделать. Было бы здорово, если бы кто-нибудь мог указать мне в правильном направлении или помочь мне. Благодарю! ~ Майкл

Ответы

Ответ 1

Вот мой опыт: я создаю роботизированную умную игрушку для детей-аутистов, использующих Arduino, датчики, моторы, светодиоды и bluetooth. Я написал свои собственные библиотеки, чтобы делать то, что мне нужно, используя С++. Но я узнал, что Arduino IDE Compiler является более старой версией, которая не поддерживает новые возможности С++ 11.

Поэтому мне пришлось найти способ скомпилировать код С++ 11 и загрузить его в Arduino. Он оказывается "довольно" базовым: мне нужен Makefile, acr-gcc 4.8 и voilà! Работа makefile выполняется Sudar (https://github.com/sudar/Arduino-Makefile), и он отлично работает. Мне пришлось немного настроить его, чтобы он работал для моего проекта.

Вот несколько документов, которые я написал для своего проекта. Вы должны взглянуть, это может быть полезно для вас. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md

Надеюсь, это поможет! Приветствия:)

EDIT 08/16/2014:

Поскольку у меня появилось много запросов, подобных этому из друзей и других разработчиков, я решил создать какую-то структуру для быстрого и легкого запуска проектов Arduino.

Это Проект Bare Arduino

Надеюсь, это может помочь! Если вы найдете ошибки или вещи, которые я мог бы сделать лучше, не стесняйтесь заполнять и выпускать.:)

Ответ 2

Язык, поддерживаемый IDE Arduino, в основном С++ с некоторыми дополнительными функциями, реализованными программистами Arduino. Кроме того, в эскизе вы просто кодируете подпрограммы setup и loop (есть несколько других, к которым вы, в конце концов, приступите, когда вы станете более продвинутым программистом).

В эскизе вы можете определить классы в библиотеке и включить эту библиотеку с помощью Arduino IDE. IDE Arduino реализует компилятор Atmel, который создает код для процессора Arduino (существует несколько моделей). Вы можете работать за пределами Arduino IDE (звучит так, как есть), но вам все равно нужно иметь компилятор, который нацелен на правильный процессор Atmel.

Наконец, классы С++ могут стать большими, поэтому в какой-то момент ваш источник перерастет то, что может хранить процессор. Итак, классы Arduino редки и точны!

Для начала я бы использовал IDE Arduino и написал эскизы (в основном это С++). И по мере того, как этот случай позволяет вам создавать собственные библиотеки на C и/или С++.