ПРОШИВКА МИКРОКОНТРОЛЛЕРОВ ATTINY13/85 ЧЕРЕЗ ARDUINO
Прежде чем начать, следует ознакомиться с распиновкой наших микроконтроллеров, чтобы понимать где какие ноги и примерно представлять себе, чего мы хотим добиться.
Подключаем МК к нашей ардуинке следующим образом:
Далее запускаем нашу Ардуинку, "Файл-Настройки-Дополнительные ссылки для Менеджера плат", нажимаем пиктограмму окошек в конце строки и в вводим туда такие ссылки:
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Заходим в "Инструменты - Плата - Менеджер плат", где ищем наши МК и инсталлируем соответствующие ядра (ATtiny13, ATtiny85 и т. д.).
Теперь в Инструментах выбираем плату Ардуины, COM-порт и программатор AVRISP mk 2.
Не забываем, что в Linux системах необходимо открыть доступ к порту, на котором сидит ваша Ардуинка:
sudo chmod 666 /dev/ttyUSB0
Теперь заливаем в нашу ардуинку скетч, который переведет ее в режим программатора: "Файл - Примеры - ArduinoISP - ArduinoISP".
В меню "Плата" у нас появились дополнительные опции "ATtiny Microcontrollers" и "MicroCore". Выбираем соответствующий чип, COM-порт и программатор Arduino as ISP. Скетч в МК заливается через программатор: "Скетч - Загрузить через программатор" (Или Ctrl+Shift+U)
На всякий случай вот вам пример Blink:
#define F_CPU 1200000UL // Указываем тактовую частоту МК #define LED1 PB2 // Используем светодиод, подключенный к PB2 (7 пин) #include <avr/io.h> // Подключаем определения ввода/вывода #include <util/delay.h> // Подключаем библиотеку функций задержки int main(void) { // Светодиод DDRB |= (1 << LED1); // конфигурируем пин как выход PORTB &= ~(1 << LED1); // по умолчанию светодиод выключен // Основной цикл while (1) { _delay_ms (500); // задержка 500 мс PORTB ^= (1 << LED1); // инвертируем состояние пина } }
Для прошивки данных микроконтроллеров так же можно использовать программаторы типа USB Asp, но для этого желательно иметь Отладочную плату Digispark hw-260 и Переходник для программатора USB ASP. Однако об этом позже.