Arduino:Знакомство с Arduino/Знакомство с Arduino ISP

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Знакомство с Arduino ISP[1]

Название Arduino ISP происходит от «in system programmer», что означает «внутрисистемный программатор», и он используется для программирования микроконтроллеров AVR. Его можно использовать либо для прямой (без использования загрузчика) загрузки скетчей на Arduino, основанные на AVR-контроллерах, либо для восстановления загрузчика.

Установка драйверов

Linux и MacOSX

На эти ОС драйверы устанавливать не нужно. Устройство уже готово к использованию – просто подключите его к USB-порту на компьютере.

Windows

На этой ОС для работы Arduino ISP нужно установить правильный драйвер. Загружаем его по этой ссылке и распаковываем. Теперь, когда у нас есть нужные файлы, идем в «Диспетчер задач»...

Step1windowsdriverISP 1.jpg

...и ищем там неизвестное устройство под названием «ArduinoISP» с предупреждающим значком. Кликаем на этой записи правой кнопкой мыши и выбираем пункт «Обновить драйверы...»

Step2windowsdriverISPsaller 2.png

Затем кликаем «Выполнить поиск драйверов на этом компьютере».

Step3windowsdriverISPsmaller 3.png

Выбираем папку, куда были распакованы драйверы, и подтверждаем. После того, как Windows установит драйверы, Arduino ISP должен отобразиться в «Диспетчере устройств» без предупреждающего значка. Это значит, что он готов к использованию.

Как подключить Arduino ISP

Arduino ISP подключается к 6-контактному ICSP-коннектору платы Arduino, как показано на фото ниже:

Connectionisp 4.jpg

Далее подключаем Arduino ISP к компьютеру при помощи кабеля micro USB, а затем подключаем плату к источнику питания (через USB-кабель или разъем для питания). Впрочем, плату можно питать и через ISP Arduino. Но для этого вам нужно замкнуть перемычкой контактные площадки с надписью SJVCC, т.е. припаять на них немного олова.

Теперь, когда подключение сделано, вам нужно выбрать правильный программатор в IDE Arduino, как показано на картинке ниже:

Programmerselection 5.png

Запись загрузчика

Загрузчик – это маленькая программка, которая позволяет плате Arduino и IDE Arduino коммуницировать друг с другом, когда вы хотите загрузить на плату новый скетч. Как правило, когда вы хотите загрузить на микроконтроллер какую-либо программу, вам требуется внешний программатор вроде Arduino ISP. Однако загрузчик избавляет от необходимости во внешнем программаторе, потому что в нем, т.е. в загрузчике, уже встроен протокол, позволяющий компьютеру программировать flash-память AVR. Платы Arduino на базе AVR уже идут с предустановленным загрузчиком, но иногда процесс загрузки или некоторые скетчи повреждают участок памяти, куда записан загрузчик, что впоследствии приводит к проблемам с загрузкой. Тут-то на сцену и выходит Arduino ISP – чтобы с его помощью записать на Arduino новый загрузчик. Кроме того, запись загрузчика может понадобиться, если вы заменили старый микроконтроллер на новый.

Запись загрузчика – это несложная процедура, которая уже встроена в IDE Arduino. Чтобы записать на плату загрузчик, подключите все, как описано в разделе «Как подключить Arduino ISP» выше, а затем кликните Инструменты > Записать Загрузчик (Tools > Burn Bootloader).

Burnbootloader 6.png

Загрузка скетча

Программатор Arduino ISP также можно использовать для загрузки скетчей на AVR-платы или на другие AVR-микроконтроллеры, которые поддерживаются IDE Arduino.

Стандартная загрузка скетча осуществляется через загрузчик. Однако если воспользоваться вместо этого внешним загрузчиком, то для скетча будет предоставлен весь объем имеющейся у микроконтроллера flash-памяти, т.к. освободится память, которая иначе отошла бы загрузчику. Таким образом, если вы хотите записать на плату какой-то особо «увесистый» скетч, то имеет смысл воспользоваться именно внешним программатором, а не загрузчиком.

Примечание: Имейте в виду, что если вы запишите скетч поверх загрузчика, то загружать скетчи нажатием на кнопку «Загрузка» в IDE Arduino уже не получится. Таким образом, если вы хотите использовать свою Arduino как прежде, то на нее нужно сначала записать загрузчик.

Теперь открываем скетч, редактируем его, если нужно, а затем кликаем Скетч > Загрузить через программатор (Sketch > Upload Using Programmer). Или можно воспользоваться комбинацией клавиш  Ctrl + ⇧ Shift + U .

Uploadisp 7.png

Программирование фьюз-битов на микроконтроллерах ATmega

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

См.также

Внешние ссылки