Можно ли написать c-код в arduino ide?
Итак, я знаю, что родной язык arduino написан на c / c ++, но означает ли это, что я могу писать чистый код на c в arduino ide или что я должен использовать указанный arduino язык? Я новичок в этом и очень смущен, пожалуйста, потерпите меня здесь: ’)
@Noob, 👍2
Обсуждение1 ответ
Да, вы можете писать на чистом C. Некоторые части API Arduino core
фактически определены на C, например, pinMode()
и digitalWrite()
(по крайней
мере, в ядре AVR). Так что вы можете их использовать. Другие части, такие как Serial
, являются
Объекты C ++, и вы не сможете использовать их из обычного C.
Однако Arduino IDE будет настаивать на том, чтобы вы написали файл с расширением
.ino, чтобы он был скомпилирован как предварительно обработанный C ++. Однако вам не
нужно ничего помещать в этот файл. Если вы хотите написать
всю свою программу на чистом C, вы можете создать пустой файл .ino, а в той
же папке - файл .c со всей вашей программой. В этом файле вы можете
определить свой собственный main()
. Однако, если вы хотите использовать Arduino core API
, вам следует вместо этого определить setup()
и loop()
и полагаться на
предоставляемую ядром main()
.
- avrdude ser_open() can't set com-state
- Не могу загрузить скетч в Arduino Nano
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Проблема с Arduino Nano 33 IOT
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
- Не удалось преобразовать «digitalWrite(8u, 1u)» из «void» в «bool»
- Как отладить "No device found on cu.usbserial, An error occurred while uploading the sketch"
- Невозможно загрузить код на Arduino Nano.
Специфичного для Arduino языка не существует. Это просто C ++. Arduino просто предоставляет вам фреймворк внутри C ++ для работы, например, предопределенную структуру программы (цикл и функция настройки), а также полезные функции и библиотеки. Но, конечно, вы можете использовать C-код для Arduino - вплоть до того момента, когда два языка расходятся друг с другом. Нелегко определить точную границу того, какие из новых функций C поддерживаются, хотя со всем старым кодом C у вас все должно быть хорошо. Помогает ли это? Если нет, не могли бы вы подробнее объяснить, что вас смущает?, @chrisl