Мой первый проект на LESO6
Борисов Александр Васильевич
Для начала изучения программирования микроконтроллеров AVR можно порекомендовать среду CodeVisionAVR.
CodeVisionAVR представляет собой интегрированную среду разработки с кросс-компилятором С, реализующим все элементы ANSI C для архитектуры AVR с некоторыми особенностями и дополнительными функциями. Для новичков особый интерес представляет автоматический генератор кода CodeWizardAVR, который в интерактивном графическом режиме позволит настроить периферию микроконтроллера и сгенерировать код инициализации.
Среда предназначена для работы под различными версиями 32-битных и 64-битных операционных систем MS Windows (XP, Vista, Windows 7 и Windows 8).
Несмотря на то, что среда CodeVisionAVR коммерческая, существует бесплатная Evaluation версия, имеющая некоторые ограничения. Наиболее существенное – это максимальный объем программы (не может превышать 4 кбайт). Для большинства демонстрационных и обучающих программ этого вполне достаточно. Скачать последнюю Evaluation версию программы можно с официального сайта. Тамже можно уточнить ограничения free версии.
Рассмотрим простые шаги для создания программы. Цель: заставить мигать светодиод LED0 (HL1) (см. схему стенда).
1. Запускаем CodeVisionAVR и создаем новый проект: меню File, пункт New Project. При этом появляется окно:
Соглашаемся использовать генератор кода (нажимаем Yes).
2. В окне CodeVisionAVR выбираем чип ATmega128RFA1 и тактовую частоту генератора 16 MHz. Все остальное оставляем без изменений.
3. Переходим на вкладку порты Ports. Смотрим на схему стенда LESO6 и видим, что светодиод LED0 подключен к нулевому биту порта Port F. Настраиваем этот бит на вывод (Bit Out).
4. Генерируем программу. Для этого в меню Program выбираем пункт Generate, Save and Exit. В результате появится программа на языке С.
5. Редактируем полученную программу следующим образом. После строки:
#include <io.h>
добавим строку для подключения библиотеки функций задержки:
#include <delay.h>
Вместо текста:
while (1) { // Place your code here }
записываем текст:
while (1) { PORTF.0 = 0x01; delay_ms(500); PORTF.0 = 0x00; delay_ms(500); }
6. Компилируем проект: Project -> Build All. В результате, если нет ошибок, будет создан hex-файл.
7. Для загрузки hex-файла в микроконтроллер можно использовать консольный загрузчик avrdude. Добавим avrdude в инструмены CodeVisionAVR.
В меню Tools выбираем пункт Configure. Появится окно Configure Tools, добавляем новый инструмен, нажимаем кнопку Add. В строке Tool Directory and FileName указываем путь к файлу avrdude.exe. В строке Command Line Parameters указываем параметры программатору:
-patmega128rfa1 -cavr911 -PCOM6 -b115200 -Uflash:w:first.hex:a
Параметр PCOM6 указывает номер последовательного порта (COM-PORT). В диспетчере устройств можно посмотреть номер порта, соответствующего преобразователю FTDI учебного стенда. В данном примере это COM6. first.hex – имя hex-файла, укажите свое.
В строке Working Directory укажите путь к hex-файлу.
8. После настройки инструмента в меню Tools появится пункт avrdude.exe, позволяющий загрузить прошивку. Предварительно стенд должен быть переведен в режим программирования, для этого следует нажать на стенде кнопку reset, удерживая зажатой кнопку 1 на клавиатуре.
Светодиод на стенде начнёт мигать.
Сопутствующее программное обеспечение