Надо ли использовать C или C++ для реализации чистого кода Arduino?
У меня есть плата arduino (микроконтроллер SAMD21), которая поддерживает программирование Arduino или CircuitPython. Я бы хотел программировать на чистом C/C++ вместо Arduino, что, по-видимому, возможно без особых проблем. Но я не уверен, использовать ли C или C++. Я думал, что Arduino основан на C++, но я пошел посмотреть некоторые файлы библиотеки, и они были написаны на C. Поскольку я почти уверен, что они не взаимозаменяемы, может ли кто-нибудь помочь мне узнать, какой язык я должен использовать для программирования своей платы?
@MendelumS, 👍1
Обсуждение1 ответ
Я думал, что Arduino основан на C++
Не существует языка "Arduino" - среда разработки Arduino использует компилятор GNU C++, поэтому "его язык" - это язык, поддерживаемый компилятором. В основном это C++ с небольшой предварительной обработкой кода, чтобы помочь учащимся преодолеть некоторые места, в которые они могут легко попасть (например, добавление операторов #include, когда он считает, что они вам нужны).
Вот ответ, который я написал на аналогичный вопрос несколько лет назад. Я думаю, что это имеет отношение к вашему вопросу.
- RtcDateTime' не называет тип
- Как объединить два значения в строку?
- Считывание данных нескольких датчиков из текстового файла, расположенного на SD-карте в Arduino/ESP32
- Не могу скомпилировать .ino с помощью библиотеки ArduinoJson
- Проблемы с Serial.read()
- Int массив, переданный через функцию, имеет неправильные значения только после нескольких проходов
- C++ против языка Arduino?
- устаревшее преобразование из строковой константы в 'char*'
В том, в каком вам будет удобнее всего. C является подмножеством C++ (или наоборот - C++ является надмножеством C)., @Majenko
Вы можете эффективно использовать c или c++ в Arduino. Есть несколько предостережений, о которых следует знать, но они оба работают. Вы даже можете встроить сборку, если хотите., @dandavis