В этом наборе из статей, хочу кратко описать с примерами как я изучал программирование AVR, может кому нибудь пригодится в освоении программирования.

Я начинал изучение микроконтроллеров серии AVR c подбора материалов, инструмента, макетных плат, необходимых радиоэлементов и конечно самих микроконтроллеров!

Испытывал код на дешевой отладочной, макетной плате и набора проводов перемычек, а также писал вручную код на листочке, так лучше запоминается язык программирования, по крайней мере для меня!

Почему на плате, а не в какой нибудь виртуальной среде?

В этом я вижу только плюсы -

1. Работаю с реальными радиодеталями, могу померить ток, напряжение, сигналы и другие параметры!

2. Изучаю строение схемотехники современных электрических схем!

3. Да так гораздо интереснее проектировать и видеть результат своей работы!

Напряжение питания использовал стандартное 3.3В и 5В, а также регулируемое 0-25В, пользовался самодельным блоком питания 0-25В 3А, расскажу о нем в ближайшее время, вот такую плату использовал для вывода на красную и синюю линии +/- 5В и 3,3В соответственно!

Выводил текст и параметры с датчиков или результаты измерений, на дисплеи типа LCD 1602, LCD 0802 - 16 символов, 8 символов и две строки соответственно, а также семисегментные индикаторы с общим анодом или катодом!

Микроконтроллеры использовал для работы ATmega8-16PU, ATmega16-16PU, Attiny13! На них в основном и тренировался.

Для обвязки и тестовый работы под рукой был всегда набор радиодеталей таких как конденсаторы, резисторы, кнопки, переменные резисторы, кварцевый резонатор, светодиоды, транзисторы pnp и npn структуры и другие!

Для заливки прошивки в микроконтроллер использую недорогой программатор S51 AVR USB

или если микроконтроллер в DIP корпусе, то пользуюсь TL866.

Как видите с таким небольшим наборов радиодеталей и отладочных плат можно начать осваивать микроконтроллеры, пусть это будут AVR 8 битные, как многие говорят уже устаревшие микросхемы, но на мой взгляд для освоения языка программирования СИ на низком уровне, конечно не таком низком как в языке Ассемблер, но все таки, AVR подойдут в самый раз! И переход например на STM32 уже будет не таким сложным!