От Arduino к программированию микроконтроллеров

Начав изучать программирование микроконтроллеров с покупки платы Arduino Duemilanove (см. Знакомство с Arduino), довольно скоро я решил попробовать сделать какое-нибудь устройство на основе непосредственно микроконтроллера. И вполне естественно, что первым микроконтроллером, который я выбрал в качестве подопытного для экспериментов на этом поприще, был ATmega328P, на основе которого создан Arduino.

В те далёкие времена эти микроконтроллеры ещё не продавались через Интернет столь же свободно, как сейчас, так что первая проблема, с которой я столкнулся как разработчик, была проблема доступности элементной базы. В магазине микроконтроллеры ATmega328P попросту отсутствовали в наличии, по причине того, что из-за популярности Arduino спрос на них оказался заметно выше, чем на другие микроконтроллеры серии ATmega.

Тем не менее, совместимый микроконтроллер из линейки ATmega48/88/168/328P в продаже был, это был микроконтроллер ATmega168, так что я приобрёл его, хотя в нём в 2 раза меньше памяти программ (Flash), ОЗУ (RAM) и ЭСПЗУ (EEPROM). В остальном это полностью совместимые микроконтроллеры, так что первым делом я воткнул его в панельку на плате Arduino вместо штатного ATmega328P.

И конечно же Arduino сразу же перестал работать как положено. Ведь для того, чтобы купленный мною микроконтроллер смог работать как ядро Arduino, его следовало предварительно запрограммировать, прошив в память программ загрузчик (bootloader). Для этого мне потребовался программатор.

Автор: Андрей Шаройко <vanyamboe@gmail.com>