В линейке контроллеров, кроме тех, которые используются в «стандартных» платах arduino(Duemilanove, Diecimila, Uno) а именно atmega328 и atmega168 есть ещё 2: atmega48 p/a/pa и atmega88 p/a/pa с меньшим объёмом flash/ram памяти, но идентичным набором периферии. И т.к. серийных плат с младшими моделями нет, Arduino IDE «из коробки» не умеет компилировать и прошивать скетчи в эти контроллеры. Вот как выглядят модули на них(справа первая версия с более «толстым» atmega168):
Чтобы добавить поддержку этих контроллеров нужно сделать следующее:
1) добавить плату с этим контроллером.
обычно файл располагается в hardware/arduino/boards.txt относительно корня установки Arduino IDE.
В него нужно дописать(в конец):
1 2 3 4 5 6 7 8 |
############################################################## atmega48.name=JC board w/ ATmega48PA atmega48.build.mcu=atmega48p atmega48.build.f_cpu=1000000L atmega48.build.core=arduino atmega48.build.variant=eightanaloginputs |
после этого уже можно скомпилировать скетч для этого контроллера, но нельзя прошить стандартным методом — при помощи бутлоадера. Но можно прошить при помощи программатора. Если он не настроен перехлжим к шагу 2:
2) добавим программатор.
Я использую программатор «5 проводков», для его поддержки я добавил в hardware/arduino/programmers.txt следующее:
1 2 3 |
parallel.name=STK200 parallel.protocol=stk200 parallel.force=true |
но и после этого могут возникнуть проблемы. Например avrdude, используемый в текущей версии Arduino IDE, не поддерживает ATmega48PA. Научим его в шаге 3:
3) добавим поддержку контроллера в avrdude.
На просторах интернета найдена следующая конфигурация, которую следует добавить в конец hardware/tools/avrdude.conf