Рассмотрено практическое программирование микроконтроллеров AVR, в том числе популярной платформы Arduino. Рассказано, как выйти за рамки ограничений Arduino, когда следует применять прямое программирование на ассемблере, а когда использовать языки высокого уровня.Изложены общие принципы устройства микроконтроллеров AVR и их программирования, система команд, программирование таймеров, арифметические операции, память, интерфейсы, режимы энергосбережения и сторожевой таймер, программы реального времени, обмен данными с персональным компьютером. Особое внимание уделено переносу типичных Arduino-проектов на ассемблер.Даны готовые рецепты для программирования большинства основных функций современной микроэлектронной аппаратуры.
Rassmotreno prakticheskoe programmirovanie mikrokontrollerov AVR, v tom chisle populjarnoj platformy Arduino. Rasskazano, kak vyjti za ramki ogranichenij Arduino, kogda sleduet primenjat prjamoe programmirovanie na assemblere, a kogda ispolzovat jazyki vysokogo urovnja.Izlozheny obschie printsipy ustrojstva mikrokontrollerov AVR i ikh programmirovanija, sistema komand, programmirovanie tajmerov, arifmeticheskie operatsii, pamjat, interfejsy, rezhimy energosberezhenija i storozhevoj tajmer, programmy realnogo vremeni, obmen dannymi s personalnym kompjuterom. Osoboe vnimanie udeleno perenosu tipichnykh Arduino-proektov na assembler.Dany gotovye retsepty dlja programmirovanija bolshinstva osnovnykh funktsij sovremennoj mikroelektronnoj apparatury.