Visual studio code настройка для arduino

Обновлено: 05.07.2024

По моему скромному мнению стоковая Arduino IDE представляет из себя убогий блокнот не соответствующий современным требованиям для разработчика. Многие сторонние блокноты имеют на порядок больше функционала, чем среда разработки Arduino IDE, а они всего лишь блокноты. Для новичка это особо актуально иметь среду разработки которая всеми силами помогает тебе писать правильно с подсветкой синтаксиса, автодополнением , подсветкой ошибок на лету, подсказками, быстрыми переходами и т.д., а самое главное имеется режим отладки во время исполнения кода в микроконтроллере и все это есть в Visual Studio 2019 с расширением vMicro. Но есть и другая сторона медали: данное расширение теперь платное и стоит не так уж дешево. Имеется триальный период использования в 90дней, без возможности отладки. И никто не отменял глюки и непонятное поведение этого расширения.

Я узнал о данном расширении совсем недавно и имею посредственное представление о его возможностях.

Установка расширения vMicro в Visual Studio 2019 Community

Данное расширение можно поставить начиная с Visual Studio 2015. Для работы расширения у вас уже должно стоять Arduino IDE.

Запускаем Visual Studio 2019 и жмем продолжить

Запуск Visual Studio 2019

В меню "Расширения" нажимаем "Управление расширениями". В открывшемся окне с лева выбираем «В сети» и справа в поиск вбиваем Arduino. Жмем скачать.

Установка vMicro Visual Studio 2019

Теперь закрываем Visual Studio 2019, начинается процесс установки.

Установка vMicro Visual Studio 2019

В открывшемся окне жмем «Изменить»

Установка vMicro Visual Studio 2019

Установка завершена, жмем «Закрыть». Запускам Visual Studio 2019. Жмем «Создать проект» выбираем Arduino project и проходим мастер создания проекта.

Установка vMicro Visual Studio 2019

В какой-то из моментов у вас выскочит окно конфигурации расширения, где необходимо указать путь куда установлена Arduino IDE.

Установка vMicro Visual Studio 2019

Основные элементы управлением расширением выведено в отдельную строку на панели инструментов. Все тоже самое, что и в родной Arduino IDE.

vMicro в Visual Studio 2019

Ошибки, глюки и проблемы

Я использую ОС Windows 10 и столкнулся со следующими проблемами.

2)Если вы используете сторонние библиотеки в своем проекте, то необходимо прописать пути к ним в проекте. Справа на проекте правой клавишей мыши жмем "свойство", переходим в «Каталоги VC++» - "Включаемые каталоги" – изменить и добавляем пути к исходникам включаемых библиотек.

vMicro в Visual Studio 2019
vMicro в Visual Studio 2019

Учтите что Debug и Release имею независимые настройки среды т.е. поменяв этот профиль вы поменяете настройки среды для проекта.

Если после добавления путей к файлам библиотек у вас возникают ошибки в самих библиотеках, в которых компилятор ругается на заголовочные файлы, то вам необходимо просто продублировать подключения этих библиотек в основном скетче.

В этой статье приведены пошаговые инструкции по установке и настройке расширения PlatformIO в Visual Studio Code для дальнейшего программирования Arduino, ESP32, ESP8266, Maixduino, Raspberry Pi и не только.

Visual Studio Code

VS Code также имеет множество доступных расширений, которые улучшают его функциональные возможности. Одним из таких расширений является PlatformIO.

Установка Visual Studio Code

Загрузить VS Code можно бесплатно с официального сайта, Здесь вы можете выбрать, на какую операционную систему вы хотите установить VS Code.

Как только IDE будет загружена, дважды щелкните на exe-файл для установки. При нажатии на исполняемый файл должно отобразиться следующее лицензионное соглашение:

Установка VS Code - Лицензионное соглашение


Выберите I accept the agreement и нажмите Next.

Установка VS Code - Start Menu Folder


Здесь можно сохранить значения по умолчанию. Нажмите Next.

Запуск VS Code в первый раз

При первом запуске вы увидите такое окно (см. ниже):

PlatformIO

PlatformIO может использоваться с VS Code для предоставления мощного набора инструментов, которые помогут вам в разработке на Ардуино. Из этого материала вы узнаете как установить расширение PlatformIO для дальнейшей разработки под платы Arduino.

Установка PlatformIO в VS Code

Чтобы установить расширение PlatformIO, нужно Открыть средство просмотра расширений, нажав Ctrl+Shift+X и набрать PlatformIO в строке поиска, выбрать первый найденный результат и установить, нажав кнопку Install, как показано на рисунке ниже.
Установка PlatformIO может занять немного времени. Во время установки PlatformIO может запросить установку Python (появится уведомление в нижнем правом углу, см. ниже).
Нажмите Install Python, чтобы начать установку Python.
Нажмите Open, чтобы открыть ссылку с инструкциями по установке Python. Пожалуйста, выберите Add Python to Path (см. ниже), в противном случае команда python будет недоступна.

Установка PlatformIO в VS Code - Python

Вернитесь в окно Visual Studio Code и нажмите кнопку Try again (см. ниже).

Установка PlatformIO в VS Code - Успешная установка

После завершения установки появится уведомление в нижнем правом углу (см. ниже), что нужно перезагрузить IDE для завершения процесса.

Установка PlatformIO в VS Code - Первый запуск

После перезагрузки значок PlatformIO (см. ниже) должен появиться в левом поле Visual Studio Code.

Установка Arduino Framework

Следующим шагом является загрузка платформы Atmel AVR (Arduino), Espressif 32 (ESP32) и т.п. в Visual Studio Code. Нажмите на значок PlatformIO в левом поле, чтобы открыть меню Quick Access (или нажмите на домик в самом низу). Выберите Platforms, а затем Embedded, как показано на рисунке ниже.

Установка PlatformIO в VS Code - Платформы

Установка PlatformIO в VS Code - Atmel AVR (Arduino)

При нажатии на Atmel AVR откроется страница установки (см. ниже), нажмите кнопку Install для продолжения.

Установка библиотек

Создание и загрузка примера Blink

PlatformIO может автоматически определять, на каком порту установлен ваш Arduino Uno. Чтобы всё работало, нам необходимо подключить нашу плату к USB-порту до запуска Visual Studio Code.

Установка PlatformIO в VS Code - Загрузить пример

Вы можете получить доступ к стандартному набору примеров Arduino, выбрав PIO Home в меню быстрого доступа платформы (см. ниже), а затем выбрав Project Examples.

Установка PlatformIO в VS Code - arduino-blink

После чего открывается выпадающий список, в котором перечислены все примеры. Выберите arduino-blink и нажмите Import.

Установка PlatformIO в VS Code - Blinkcpp

Visual Studio Code теперь должен открыть проект blink. Структура папок отличается от структуры стандартного проекта Arduino, где расширение файлов .ino. Основной файл исходного кода называется blink.cpp и хранится в папке src (см. ниже).

Установка PlatformIO в VS Code - Список COM устройств

Выбрав Devices в меню быстрого доступа платформы (см. ниже), вы сможете найти список COM-портов.

Этот пост поможет начинающим сэкономить несколько часов(дней) для настройки среды Visual Studio для разработки под Arduino на языке С/C++.

image

Преамбула

Пару месяцев назад увидел у преподавателя некую платку, подключенную к компьютеру. На платке были видны семисегментные индикаторы и несколько светодиодов. Преподаватель разбирался в каком-то коде, платка тем временем живо сигнализировала ему что-то. Меня сразу заинтересовало, чем это он там занимается… Однако, всё, что я смогу узнать у него — это то, что платку зовут отладочной. Путём недолгого гугления выхожу на игрушку под названием «Arduino». Заказываю себе Arduino mega, та что с Atmega1280 (всего $29.99) и через две недели бегу на почту получать заветную игрушку.

Фабула

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

  • Собственно, сама среда;
  • Visual Assist X — опционально, для облегчения разработки. Заменяет собой встроенный IntelliSense встроенный в VS. Еще куча дополнительных опций. Платное;
  • WinAVR последней версии. Это компилятор программ на С/С++ для «платформы» AVR;
  • avr-libc. Минимальная реализация стандартной библиотеки С для AVR. Содержит такие полезные функции, как, например, _delay_ms или _delay_us (задержка в милли- и микросекундах);
  • Avrdude. Желательно свежей версии, универсальный программатор для AVR;
  • FTDI Virtual Com Port Drivers. Не вдаваясь в подробности, будем называть это «драйверами для Arduino»;
  • AvrStudio — опционально. Имеет встроенный симулятор микроконтроллера, позволяющий пошагово отлаживать программу;
  • Arduino schematic. Этот pdf-файл понадобится для того, чтобы узнать к каким портам МК подключены выходы Arduino.

Всё гуглится на раз.

Итак, приступим. Устанавливаем WinAVR, avr-libc, скачивам Avrdude. Подключаем Arduino к компьтеру и устанавливаем драйвера. Создаём «makefile project» в Visual Studio. Заполняем поля так, как на рисунке ниже.

image

В месте, куда установился WinAVR в поддиректории sample находится Makefile, который можно использовать для сборки проекта. Копируем себе, в папку созданного makefile project, и изменяем некоторые строки:

MCU = atmega1280
F_CPU = 16000000
FORMAT = ihex
TARGET = ATMEGA-1280-DEV-BOARD
SRC = $(TARGET).C

  • Первая строчка обозначает тип микроконтроллера. Для Arduino mega это atmega1280;
  • Вторая строчка задаёт частоту, на которой будет работать наш МК;
  • Третья строка — формат выходного файла. Лучше оставить intel hex;
  • Четвёртая — имя вашего проекта;
  • Пятая — список исходных файлов проекта.
  • Опция -p указывает тип девайса, который будем шить;
  • -с указывает тип программатора. Arduino использует протокол обмена информацией позаимствованный у программатора STK500, поэтому здесь можно смело вписывать stk500. Однако, в новой версии avrdude добавили в качестве программатора Arduino, поэтому с пущей уверенностью вписываем сюда arduino;
  • Следующая опция указывает на какой скорости будет происходить передача данных. Здесь всегда нужно ставить 57600;
  • Опция -P указывает порт, к которому подключен программатор;
  • Последняя опция указывает какую конкретно операцию следует выполнить. Для нас это загрузка в флеш-память микроконтроллера программы.

Изменяем секцию all примерно так:
all: build program
Добавляем к списку задачи «program». Это позволит при удачной компиляции автоматически грузить прошивку в МК.

В принципе, всё готово. Пробуем написать минимальную программу (моргалку светодиодом L). Смотрим в файлик arduino-mega-schematic.pdf и видим, что 13 порт Arduino есть ни что иное, как PB7. Пишем примерно следующую программу:

int main()
DDRB = 0xFF;
while ( true )
PORTB |= (1 << 7);
_delay_ms(500);
PORTB &=

* This source code was highlighted with Source Code Highlighter .

Минимальный интерфейс для работы с портами ввода-вывода:

class Port
public :
Port(PORT& p) : _p(p) <>;
Port& operator ! ();
Port& operator += (uint8 b);
Port& operator -= (uint8 b);
Port& operator = (Port& p);
void SetLow();
void SetHigh();
PORT& GetValue();
bool ClearBit(uint8 b);
bool SetBit(uint8 b);
void Pulse(uint8 t);
void PulseBit(uint8 b, uint8 t);
private :
PORT& _p;
>;

* This source code was highlighted with Source Code Highlighter .

image

Сохраняем makefile, собираем проект, любуемся результатом.

П.С. К 10-му числу приедет набор состоящий из всевозможных сенсоров и датчиков. К февралю соберу ультразвуковой дальномер и фоторегистратор.

Лучшее кодирование Arduino с VS Code и PlatformIO

Arduino IDE стал первым опытом программирования для многих людей. Хотя он выполняет свою работу, в нем отсутствуют ключевые функции, которые есть в большинстве современных редакторов кода.

Visual Studio Code (VS Code) быстро стал одним из самых популярных редакторов кода, но не поддерживает разработку Arduino в качестве стандарта.

Войдите в PlatformIO, инструмент с открытым исходным кодом для программирования плат Arduino (и многое другое)! Узнайте, как получить PlatformIO и использовать его для создания простого эскиза Arduino в VS Code.

Требования к проекту


Тебе понадобится:

  • Arduino совместимая плата. В этом учебном пособии используется нано-клон.
  • Arduino IDE доступен на веб-сайте Arduino (бесплатно).
  • Код Visual Studio, доступный от Microsoft (бесплатно).

Сегодняшнее руководство предназначено для Windows 10, но оно также должно работать на Linux и Mac.

Примечание. Версия Arduino IDE для Windows 10 не будет работать с этим руководством.

Как установить PlatformIO

VS Code имеет множество расширений, чтобы помочь программистам , и PlatformIO ничем не отличается. Откройте Торговую площадку VS Code Extensions с левой панели и найдите PlatformIO IDE . Нажмите «Установить» и будьте готовы к короткому ожиданию.

Примечание . Не закрывайте VS Code во время этого процесса, так как это может привести к ошибкам при установке.

Расширение PlatformIO в коде VS

После завершения установки в правом нижнем углу появится приглашение для перезагрузки кода VS. Нажмите на нее, и программа перезапустится, показывая домашнюю страницу расширения PlatformIO.

Настройка проекта

Домашняя страница PlatformIO

На домашней странице PlatformIO есть несколько вариантов, включая открытие существующих проектов Arduino и ссылки на идеи проектов. Сегодня вы начнете с нуля, поэтому нажмите « Новый проект» .

Вам будет предложено ввести имя для вашего проекта и доски, которую вы будете использовать. В этом уроке используется Arduino Nano; PlatformIO поддерживает более 650 плат, поэтому вы, скорее всего, найдете свою в списке.

PlatformIO новое окно проекта

Вкладка Framework должна автоматически заполняться как Arduino, если вы используете Arduino-совместимую плату. Оставьте флажок « Местоположение» заполненным, чтобы использовать местоположение установки по умолчанию. Вам нужно снять этот флажок, только если вы работаете с ранее сделанным проектом Arduino.

Инициализация PlatformIO

Нажмите Готово и будьте готовы к короткому ожиданию. PlatformIO загрузит и установит все зависимости, необходимые для проекта, и перезапустит IDE после его завершения.

Рабочий процесс PlatformIO

Как только VS Code перезапустится, вы увидите новую папку проекта, открытую на панели Explorer . На этом этапе не обязательно знать, что делает каждый файл в этом каталоге, вы будете использовать каталог SRC только для своих эскизов Arduino.

Структура проекта PlatformIO

Вы также заметите несколько новых значков на нижней панели кода VS. Это эквивалент кнопок в IDE Arduino — галочка для компиляции, стрелка для загрузки и заглушка для последовательного монитора.

Новые значки в нижней панели инструментов кода VS

Теперь, когда все настроено, давайте приступим к кодированию!

Пустая программа

PlatformIO создает пустой эскиз с каждым новым проектом.

Откройте его на вкладке Explorer, перейдя в SRC / main.cpp, который откроет эскиз. Вы заметите, что файл имеет расширение, отличное от обычных набросков Arduino. CPP означает C Plus Plus (C ++), язык программирования, используемый языком Arduino и IDE.

Примечание. В этом учебном пособии используется рабочий эскиз, поскольку он знаком тем, у кого фон Arduino IDE. Однако эскизы C ++ обычно называют программами .

файл main.cpp для эскизов Arduino в PlatformIO

Теперь давайте настроим аппаратный мир Hello World — мигающий светодиодный эскиз.

Мигающие светодиоды

Вы будете создавать этот эскиз Blink, мы пройдем каждую строку ниже.

Простой Blink Sketch для Arduino

Начните с определения вашего встроенного светодиодного контакта. Если вы используете плату, которая не использует вывод 13 для встроенного светодиода, измените ее соответствующим образом:

Используйте вашу функцию настройки, чтобы настроить режим вывода.

Обратите внимание, как VS Code предложит вам код, и завершите его, когда нажмите клавишу Enter !

VS Code предлагает и дополняет код

Наконец, создайте мигающую светодиодную логику в функции петли, установив вывод HIGH и LOW с задержкой .

Если у вас есть какие-либо ошибки, VS Code сообщит вам во время кодирования, а не будет ждать, пока вы скомпилируете или загрузите свой код. Живая проверка и завершение ошибок делают кодирование менее затратным и быстрым!

Далее вы узнаете, как загрузить свой эскиз на свою доску.

Загрузка на доску

Если вы еще этого не сделали, подключите вашу плату к USB-порту. Сохраните эскиз и щелкните значок галочки на нижней панели, чтобы скомпилировать его, или нажмите кнопку со стрелкой , чтобы скомпилировать и загрузить эскиз за один раз. После непродолжительного ожидания ваш светодиод должен мигать!

Клон Arduino Nano с мигающим светодиодом


Вы, возможно, заметили шаг, отсутствующий в обычном рабочем процессе Arduino. Обычно вам нужно указать, к какому COM- порту подключен ваш Arduino. Если вы прокрутите вывод при загрузке эскиза на доску, вы заметите, что PlatformIO автоматически обнаружит доску для вас.

Платформа ввода-вывода загрузки вывода

Серийный монитор

Наконец, добавьте еще одну строку кода для каждой функции, чтобы проверить последовательный монитор. В настройках добавьте:

Arduino Serial Monitor в VS Code

Новый Мир Arduino Кодирования

Использование VS Code и PlatformIO дает глоток свежего воздуха для кодирования Arduino. Это также значительно упрощает удаленную совместную работу благодаря функции Live Share в Visual Studio .

Это руководство охватывает только основы, но все, что вы можете сделать в Arduino IDE, возможно с помощью PlatformIO, так что выберите замечательный проект и получите код!

Читайте также: