В стандартоной среде разработки для Arduino не хватает таких прелестей как атодополнение и т.д. Решить этот вопрос можно посредством Atmel Studio.
Шаг 1
Качаем и устанавливаем Atmel Studio 6 с официального сайта Atmel бесплатно.
Шаг 2.Компилируем ядро Arduino.
-открываем Arduino IDE, выбираем необходимый контроллер.
-производим следующие настройки: (File -> Preferences поставить галку "Show verbose output during compilation").
-компилируем программу, например тестовый Blink
-после компиляции в консоли будет чтото вроде: C:UsersxxxxxxxAppDataLocalTempbuild3173545040878149377.tmpBlink.cpp.hex
-копируем ту часть, которую я выделил синим и переходим в эту папку.
Не закрываем Arduino IDE чтобы не удалить временные файлы.
Шаг 3. Создаем библиотеку Arduino в Atmel Studio 6
Импортируем ядро линковщика:
-открываем рабочую директорию Atmel Studio 6 (по умаолчанию Documents/Atmel Studio)
-создаем новую папку и называем ее например ArduinoCore
-возвращаемся в временную папку Arduino и ищем core.a.
-копируем "core.a" в вашу ArduinoCore папку
-переименовуем файл в "libcore.a".
-Закрываем Arduino IDE
Импортируем хидеры библиотек:
-переходим в папку установки Arduino IDE и ищем hardware/arduino/cores/arduino
-выбираем все и копируем в вашу ArduinoCore папку
-в ArduinoCore папке удаляем все .с и .cpp файлы. Оставляем только хидеры
Импортируем конфигурацию пинов Arduino.
-переходим в папку установки Arduino IDE и ищем hardware/arduino
-там есть текстовый файл "boards.txt". Вы можете посмотреть там необходимый вариант для своей платы.
-теперь выбираем папку variants, открываем папку подходящую для нашего варианта и копируем pins_arduino.h хидер.
-вставляем в вашу ArduinoCore папку
Шаг 4: Конфигурируем Ваш проект в Atmel Studio 6
Создаем Ваш проект
-открываем Atmel Studio 6
-переходим File -> New -> Project... и выбирам GCC C++ executable project.
-называем его, например TutorialArduino и жмем ОК
-выбирам Ваш чип.
Конфигурируем Ваш проект
-идем в Project -> TutorialArduino Properties...
-выбираем вкладку Toolchain
AVR/GNU C Compiler
- Directories
Жмем add, снимаем галку с "Relative Path", ищем Вашу ArduinoCore папку и жмем OK
- Optimization
Optimization level: Optimize for size (-Os) (иначе функции delay будут работать некорректно)
Отмечаем Prepare functions for garbage collection
AVR/GNU C++ Compiler
- Directories
Жмем add, убираем галку "Relative Path", ищем Вашу ArduinoCore папку и жмем OK - Optimization
Optimization level: Optimize for size (-Os) (иначе функции delay будут работать некорректно)
Отмечаем Prepare functions for garbage collection
AVR/GNU C++ Linker
- Libraries -> Libraries -> add: вводим libcore
Libraries -> Library search path -> add: снимаем галку "Relative Path", ищем Вашу ArduinoCore папку и жмем OK.
Сохраняем проект и возвращаемся к TutorialArduino.cpp файлу
Шаг 5: Пишем Arduino код в Atmel Studio 6!
Все настроено!
Вставляем следующий текст:
- #define F_CPU 16000000
- #define ARDUINO 100
- #include "Arduino.h"
- void setup();
- void loop();
Про подключение других библиотек в одной из следующих статей.