Каково отношение файла Arduino .ino к main.cpp?
Является ли файл .ino
альтернативой файлу main.cpp
?
Если да, то не мог бы кто-нибудь объяснить структуру файла .ino
в main.cpp
и его связь?
@Lance, 👍11
Обсуждение1 ответ
Лучший ответ:
Arduino использует компилятор gcc. Разумеется, этому компилятору нужна обычная функция main
. Arduino поместил поверх этого слой с помощью setup
и loop
.
Скрытая функция main
для базовых плат Arduino находится в main.cpp (нажмите на него, чтобы увидеть).
Вы видите, что вызывается init
, setup
, loop
и еще несколько вещей.
Чтобы научиться использовать setup
и loop
, вы можете попробовать несколько примеров. Они находятся в меню Arduino IDE, а также онлайн.
Все файлы .ino объединяются и представляются компилятору для компиляции как один файл .cpp. Библиотеки Arduino также компилируются из исходного кода, и все скомпоновано в двоичный файл.
Когда вы научитесь использовать setup
и loop
, попробуйте Пример мигания без задержки. Его можно использовать для запуска различных программных таймеров, выполнения любых задач и обеспечения бесперебойной работы.
Это решает мой запрос, спасибо за объяснение функции int main в main.cpp. Также я бы попробовал пример мигания без задержки, как вы предложили., @Lance
Ссылка на main.cpp перемещена в новый репозиторий [вот новое местоположение](https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/main.cpp)., @Luke Bayes
@LukeBayes Спасибо, я исправил ссылку в своем ответе. Старый стандартный avr был перенесен в «ArduinoCore-avr»., @Jot
- C++ против языка Arduino?
- ошибка: ожидаемое первичное выражение перед токеном ','
- Ввести идентификатор чипа ESP32 в строковую переменную (новичок в Arduino/C++)
- Передача функции-члена класса в качестве аргумента
- Улучшенное циклическое переключение цветов RGB.
- Какие есть другие IDE для Arduino?
- Несовместимые типы при назначении «uint8_t {aka unsigned char}» на «uint8_t [1] {aka unsigned char [1]}»
- Как преобразовать массив символов в строку в arduino?
... ... Что ... ... ?, @Majenko
Не надо откладывать. Английский не мой родной язык, и у меня не возникло проблем с этим вопросом., @Jot
Кроме того, закрытие обычно применяется в случае явно не относящихся к теме вопросов или более серьезных нарушений. Почему это было закрыто, а не просто отложено для разъяснений? Голосование за возобновление работы., @JRobert
@JRobert, ответ Джота хороший. Вопрос следует отредактировать., @Juraj