Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 5. Подготовка к программированию МКАVR 107 подключаемый через RS-232 , - он вполне доступен на сайте as-kit. ru наряду с со­ временными версиями . AS-2M делает все то же самое, работает с той же программой ASISP , но имеет одно маленькое преимущество, заключающееся в том , что аппарат­ ный СОМ-порт физически отделен от виртуальных, создаваемых различными адапте­ рами USB-COM. С точки зрения Windows , AS-4E - точно такой же адаптер, потому если вы подключите в USB одновременно, например, программатор и адаптер USB­ UART для чтения данных с контроллера (что очень удобно для отладки программ, - см . главу 15) , то два драйвера этих двух портов, не исключено, будут конфликтовать , и придется их подключать по очереди. Подключать к СОМ-порту именно программа­ тор проще, чем адаптер, т. к. он, кроме физического СОМ-порта , больше ничего не требует, и все остальное останется по-старому. Ardu i no как ISР-программатор Честно говоря, завести разговор за эту тему меня заставила исключительно ее по­ пулярность - на различных сетевых ресурсах можно встретить более или менее дилетантские откровения «чайников», вдруг обнаруживших, что контроллеры АVR- это совсем не только ATmega328, и решивших, что именно таким путем их проще всего осваивать . Давайте для начала немного разберемся в том множестве возможностей, скрывающихся под единым заголовком «Программирование кон­ троллеров АVR через Arduino», попробуем их классифицировать и оценить с точки зрения практической полезности . Самая простая и очевидная возможность обусловлена наличием ISР-разъема - плата Arduino при этом используется просто как адаптер. Конечно, так можно ис­ пользовать только Arduino Uno, поскольку «родной» контроллер при таком исполь­ зовании извлекается, чтобы не мешал. Далее вы соединяете программируемый кон­ троллер с ISР-разъемом через выводы платы ( 1 2 - MISO, 1 1 - MOSI, 1 3 - SCK, Res - Reset, а также GND и Vсе) и программируете его обычным способом, через любой ISР-программатор. Вы уже, конечно, заметили неудобства: если ваш кон­ троллер запрограммирован на работу от внешнего кварца, то нужно еще дотяги­ ваться до выводов XTAL l и XTAL2 в панельке извлеченного «родного» контрол­ лера, а если от внешнего генератора, то как-то пристраивать его к плате. Потому относительно удобно этим способом пользоваться только в случае АTmega8 и всех его родственников в 28-выводном корпусе DIP - у них совпадает разводка выво­ дов, потому этими контроллерами просто заменяют «родной» в панельке, и ника­ ких проводов никуда тащить не требуется. Хотя, на мой взгляд, это ничуть не удобнее описанного ранее способа подключения через макетную плату. Вторая возможность - использование среды Arduino IDE вместо программы­ загрузчика для загрузки АVR-контроллеров через какой-либо из обычных про­ грамматоров (без участия платы Arduino ) . Подразумевается, что при этом вы за­ гружаете туда скетч, созданный в Arduino IDE. Это возможно только для програм­ маторов, поддерживаемых средой, причем на первый взгляд их достаточно много (см. меню Arduino IDE Инструменты 1 Программатор" .), но из популярных там только стандартный АVR ISP и USBasp, остальные встречаются на практике значи­ тельно реже . Поэтому такую возможность целесообразно применять для загрузки

RkJQdWJsaXNoZXIy MTExODQxMg==