Использование Visual Studio Code для программирования Arduino

Недавно у меня появилась Arduino Uno, и я написал на ней довольно много программ. Я всегда использовал Visual Studio Code для своих проектов на C. Итак, можно ли использовать Visual Studio Code для программирования Arduino, но без подключаемого модуля Arduino, доступного в Visual Studio Code?

Это может показаться немного странным, но я хотел научиться создавать подобные плагины с нуля. Есть ли какие-то ресурсы, откуда я мог бы научиться делать это? Я искал в Google, но не нашел ответов.

, 👍2

Обсуждение

Установите расширение Arduino от Microsoft. его очень просто настроить и использовать. для более крупных проектов я бы порекомендовал платформу, кстати, вы пробовали новую Arduino [IDE2] (https://support.arduino.cc/hc/en-us/sections/360005486620-IDE2-0)? если не попробовать, это намного лучше, чем раньше., @sairfan


3 ответа


Лучший ответ:

2

Возможно, это не тот ответ, который вы ищете, но, возможно, он поможет вам и другим. Кроме того, это слишком долго, чтобы писать в виде комментария.

  1. Использовать VS Code только в качестве редактора

    Убедитесь, что ваш файл .ino как можно меньше, как правило, достаточно для вызова второго файла (файл .cpp или .c). Идея состоит в том, что вам не нужно часто менять файл .ino, так как вам нужно загрузить файл .ino только в вашу среду разработки Arduino IDE. Все остальные файлы (включая .ino), которые вы загружаете в VS Code.

    Затем вы редактируете свои файлы в VS Code, как обычно, но компилируете/загружаете файл с помощью Arduino IDE по умолчанию. Arduino IDE не видит файлы, сохраняемые как новые, поэтому вам не нужно часто менять файл .ino, так как вам нужно синхронизировать его вручную.

  2. MS Visual Studio

    Я использую MS Visual Studio, сравнимую с VS Code, и написанные заглушки или даже эмуляции для определенных классов Arduino (таких как Arduino, но также и для других библиотек, которые я использую на Arduino, которые имитируют или, по крайней мере, печатают что-то при вызове) .

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

    Написание этих заготовок — довольно сложная работа, и моделирование может зависеть от проекта (например, для проекта светодиодной ленты я фактически визуализировал светодиоды на ПК).

  3. В обоих случаях я использую Arduino IDE только для компиляции и загрузки, а не для редактирования. Также было бы полезно полностью отказаться от использования этой Arduino IDE, используя командную строку для компиляции/загрузки с использованием CLI-версии Arduino (см. комментарий BusyBee ниже. По крайней мере, в Microsoft Visual Studio, но, вероятно, в Visual Studio Code могут быть добавлены внешние команды вызов этой среды разработки Arduino для компиляции/загрузки.

  4. Комментарий PMF ниже: VisualMicro можно использовать поверх Microsoft Visual Studio; это платное расширение.

,

Вы можете добавить, что инфраструктура Arduino позволяет выполнять сборку с помощью [командной строки] (https://blog.arduino.cc/2018/08/24/announcing-the-arduino-command-line-interface-cli/). Тут тоже есть вопросы..., @the busybee

@thebusybee Это действительно хорошее дополнение. Не уверен, какие вопросы вы имеете в виду., @Michel Keijzers

Ну, мое свободное время сильно ограничено, поэтому я не думаю, что смогу найти и выбрать что-то одно. Возможно, кто-то другой может это сделать и добавить в ответ., @the busybee

Это всего лишь 3 варианта (или варианты друг над другом)., @Michel Keijzers

О, я думаю, что у нас есть недопонимание, возможно. Я имел в виду, что некоторые вопросы здесь, в SE/Arduino, относятся к использованию CLI и могут иметь хорошие ответы, на которые стоит ссылаться. Я не имел в виду, что некоторые пункты в этом вопросе остаются открытыми., @the busybee

Хорошо, ясно ... Я предполагаю, что с вариантом 3 люди поймут, что они также могут использовать CLI напрямую без какой-либо упомянутой среды IDE и самостоятельно искать это., @Michel Keijzers

Поскольку упоминалась Visual Studio: на самом деле существует расширение под названием «VisualMicro», которое добавляет все функции Arduino IDE в Visual Studio (+ живой отладчик). Это не бесплатно, но достаточно дешево и для частных проектов., @PMF

@PMF: Спасибо, я добавил это в ответ (конечно, с вашим именем), @Michel Keijzers


5

Если вы действительно ищете альтернативу Arduino IDE. Чем я рекомендую вам пойти с platformio. У него отличное управление библиотекой.

Просто установите расширения platformio в код vs, и все готово.

,

2

Вы можете написать файл C++ с помощью редактора по вашему выбору, включить avr/io.h для управления вводом-выводом Arduino, а затем скомпилировать с помощью avr-gcc и загрузить с помощью avrdude. Это то, что я делаю, потому что мне не нравится работать со структурой каталогов скетчей .ino, которая скрывает обычный код C++, который вы использовали бы с любым другим микроконтроллером. (См. Какова связь между файлом Arduino .ino и main.cpp?, Почему файл `.ino` должен находиться в папке с таким же именем?)

Руководство: https://create.arduino .cc/projecthub/milanistef/introduction-to-bare-metal-programming-in-arduino-uno-f3e2b4

,