Программирование на Arduino отличается от классического C несколькими особенностями:
- Использование упрощённой версии C++. 15 В Arduino применяется язык C++, но с некоторыми упрощениями для удобства использования. 1 Например, система автоматически включает файлы с прототипами стандартных функций. 1 Также в коде для Arduino всегда нужно определять функции setup() и loop(). 1 Первая функция выполняется один раз, вторая — бесконечно. 1
- Абстракция от аппаратного обеспечения. 1 Это упрощает программирование, так как не нужно думать о том, как работает аппаратное обеспечение. 1
- Поддержка разных плат Arduino. 1 Один и тот же код может работать для различных микроконтроллеров, плат Arduino и библиотек. 1
- Ограничения в работе со сложной математикой. 2 Если нужно что-то сложное, например тригонометрические функции, то Arduino будет считать их довольно медленно. 2
- Отсутствие многозадачности. 2 Ядро только одно, и оно исполняет одну команду за другой. 2
- Отсутствие понятия файлов. 2 На контроллер нельзя ничего сохранить, кроме управляющей им программы. 2
При этом классический C тоже можно использовать для программирования микроконтроллеров Arduino. 2 Для этого понадобится программа WinAVR, чтобы правильно перевести код в язык, понятный контроллерам AVR. 2