UR5FFR
http://dspview.com/

Начинаем работать с PlatformIO и VSCode
http://dspview.com/viewtopic.php?f=24&t=259
Page 1 of 1

Author:  Relayer [ 03 Jun 2020, 23:53 ]
Post subject:  Начинаем работать с PlatformIO и VSCode

Arduino IDE убого. Его то и IDE назвать язык не поворачивается. Если вы попытаетесь работать с проектом который содержит множество файлов то вам это быстро надоест. Особенно если файлов больше чем помещается в закладки над редактором. Сам редактор тоже достаточно примитивен и не настраивается. Походив по тырнету остановил свой выбор на связке Visual Studio Code + PlatformIO.

Установка простая - качаем VSCode, ставим ее, потом в ней же выбираем Extension, находим PlatformIO и там же устанавливаем. В PlatformIO есть визард импорта проекта из формата ардуино, что хорошо. При импорте ставим галочку "Use libraries installed by Arduino IDE". Библиотеки Arduino IDE берет из подкаталога Libraries каталога дефолтного для проектов (задается в настройках). Если этот каталог нестандартный то надо в импортированном проекте открыть в редакторе файл platformio.ini (даблклик по нему в списке слева) и прописать правильное значение для lib_extra_dirs.

При импорте мы утрачиваем возможность открывать проект из Arduino IDE. Это можно исправить следующим образом: предположим у нас есть Arduino-проект C:\Work\Project\Project.ino. Импортируем его и создадим проект PlatformIO в каталоге C:\Work\ProjectPIO. Для того чтобы у нас исходный код не дублировался а был в одном экземпляре удалим папку C:\Work\ProjectPIO\src и создадим символическую ссылку (link) C:\Work\ProjectPIO\src --> C:\Work\Project. Таким образом можно открывать проект как в Arduino так и в PlatformIO. Код при этом будет храниться в единичном экземпляре.

Теперь о плохом. Большой проект синтезатора скомпилировался но памяти потребляет больше:

Code:
RAM:   [======    ]  56.2% (used 1152 bytes from 2048 bytes)
Flash: [========= ]  89.2% (used 27394 bytes from 30720 bytes)

Компиляция в Arduino IDE
Code:
Скетч использует 27052 байт (88%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1106 байт (54%) динамической памяти, оставляя 942 байт для локальных переменных. Максимум: 2048 байт.

Author:  Relayer [ 03 Aug 2020, 17:56 ]
Post subject:  Re: Начинаем работать с PlatformIO и VSCode

Иногда у PlatformIO сносит крышу и она начинает утверждать что не может найти стандартные модули типа Wire и т.п.
Лечится прописыванием platformio.ini проекта следующей строки:
Code:
lib_ldf_mode = deep

Author:  Relayer [ 09 Jan 2021, 23:10 ]
Post subject:  Re: Начинаем работать с PlatformIO и VSCode

прошивку можно заливать не только через USB COM-порт но и через USBASP. Для этого в platformio.ini проекта нужно добавить строчки:
Code:
upload_protocol = usbasp
upload_flags = -e

Флаг "e" выполняет очистку памяти перед прошивкой. Без этого не проходит верификация и выдается ошибка "avrdude: verification error"

Page 1 of 1 All times are UTC + 2 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/