|
|
| Строка 1: |
Строка 1: |
| − | {{AttentionBlock|НЕ ИСПОЛЬЗУЙТЕ В AVRStudio В ПУТИ К ПРОЕКТУ РУССКИЕ БУКВЫ, ИНАЧЕ БУДУТ КАК МИНИМУМ ПРОБЛЕМЫ С Makefile'ом ПРИ ПОПЫТКЕ СКОМПИЛИРОВАТЬ ПРОЕКТ.}}
| + | Содержание: |
| − | | + | # Часть 1: Готовим рабочее место |
| − | На этой странице мы укажем все необходимое, чтобы быстро начать разработку прошивок для МК "AVR"
| + | ## [[Урок 1.1: Устанавливаем и проверяем компилятор]]; |
| − | | + | ## [[Урок 1.2: Выбираем и закупаем\собираем программатор]]; |
| − | == Софт для разработки прошивок - WinAVR+AVRStudio4 ==
| + | ## [[Урок 1.3: Собираем минимальный набор железа - МК + обвязка]]; |
| − | В качестве основного инструмента выбираем связку AVRStudio + WinAVR .
| + | # Часть 2: Базовые функции ввода-вывода |
| − | | + | ## [[Урок 2.1: Мигаем светодиодом]]; |
| − | === Порядок скачки и установки ===
| + | ## [[Урок 2.2: Зажигаем светодиод при нажатии кнопки]]; |
| − | | + | ## [[Урок 2.3: Читаем с помощью АЦП уровень напряжения]]; |
| − | # Установка AVRStudio; | + | # Часть 3: Использование таймеров, ШИМ и прерываний |
| − | ## Скачать последнюю версию AVRStudio (~90Mb) с сайта: [http://www.atmel.ru/Software/Software.htm www.atmel.ru]; | + | ## [[Урок 3.1: Мигаем светодиодом с использованием таймера]]; |
| − | ## Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы; | + | ## [[Урок 3.2: Плавно мигаем светодиодом с использованием ШИМ]]; |
| − | # Установка WinAVR;
| + | ## [[Урок 3.3: Обрабатываем внешние сигналы с помощью прерываний]]; |
| − | ## Скачать последнюю версию WinAVR с сайта: [http://winavr.sourceforge.net/ winavr.sourceforge.net];[http://sourceforge.net/project/showfiles.php?group_id=68108 SF download page]; | + | # Часть 4: Использование протоколов взаимодействия с другими модулями |
| − | ## Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы; | + | ## [[Урок 4.1: Работаем с UART'ом (делаем конвертер уровней и соединяемся с ПК)]]; |
| − | # Запустить среду разработки AVRStudio и загрузить в неё тестовый проект, скомпилировать и убедиться, что всё ок.
| + | ## [[Урок 4.2: Работаем с I2C микросхемой памяти]]; |
| − | | + | ## [[Урок 4.3: Работаем с SPI микросхемой памяти]]; |
| − | === Тестовый проект PORTB_LED_FLASH ===
| + | # Часть 5: Использование памяти |
| − | Моргаем светодиодами на порту B
| + | ## [[Урок 5.1: Расширение памяти МК внешней микросхемой]]; |
| − | | + | ## [[Урок 5.2: Работаем с EEPROM-памятью]]; |
| − | '''main.c''':
| |
| − | <source lang="c">#include <avr/io.h>
| |
| − | #include <util/delay.h> | |
| − | #include <inttypes.h>
| |
| − | | |
| − | int main(void)
| |
| − | {
| |
| − | char i;
| |
| − | DDRB = 0xFF;
| |
| − | PORTB = 0x00;
| |
| − | | |
| − | while(1)
| |
| − | {
| |
| − | _delay_ms(250);
| |
| − | PORTB = 0xFF;
| |
| − | _delay_ms(250);
| |
| − | PORTB = 0x00;
| |
| − | }
| |
| − | return 0;
| |
| − | }
| |
| − | </source>
| |
| − | | |
| − | Для сборки проекта используется утилита make<ref>[http://www.linux.org.ru/books/GNU/Gmake.htm Эффективное использование GNU make]</ref>.
| |
| − | Она выполняет правила, записанные в файле '''Makefile'''. Его можно написать вручную, а можно воспользоваться программой из состава WinAVR. [[Пример make-файла для тестового проекта PORTB_LED_FLASH]].
| |
| − | | |
| − | == Софт для симуляции выполнения прошивок на МК - VMLAB ==
| |
| − | В качестве основного пакета для эмуляции МК "AVR" был выбран VMLAB.
| |
| − | | |
| − | === Порядок скачки и установки ===
| |
| − | Здесь будет описан порядок установки и проверки симулятора.
| |
| − | | |
| − | | |
| − | === Тестовый проект (мигаем светодиодами) ===
| |
| − | Здесь будет описан порядок запуска тестового проекта.
| |
| − | | |
| − | | |
| − | == Программатор для прошивки МК ==
| |
| − | Здесь не существует варианта, который мы могли бы рекоммендовать однозначно. Диапазон решений сильно отличается по цене, надежности и трудозатратам которые нужно вложить в программатор, если делать его самому. Основные три варианта приведены ниже, выбрать из них предстоит вам самим:
| |
| − | | |
| − | {| class="standard"
| |
| − | !Вариант решения
| |
| − | !Внешний вид
| |
| − | !Комментарий
| |
| − | !Приблизительная стоимость
| |
| − | !Где взять
| |
| − | |-
| |
| − | |Самодельный программатор "5 проводков" для LPT-порта
| |
| − | |[[Изображение:AVRProgrammerLPT-5wires_small.jpg]]
| |
| − | |Может "сжечь" LPT-порт на материнской плате;
| |
| − | | |
| − | Самый дешевый и быстрый вариант;
| |
| − | |от 3$
| |
| − | |[[Сборка программатора "5 проводков"|Собрать самому]]
| |
| − | |-
| |
| − | |Самодельный программатор с буфером для LPT-порта
| |
| − | |[[Изображение:AVRProgrammerLPT-buffered_small.jpg]]
| |
| − | |Менее быстрый, зато более надежный вариант;
| |
| − | |от 7$
| |
| − | |[[Сборка программатора для LPT порта с буфером|Собрать самому]]
| |
| − | |-
| |
| − | |Готовый программатор AVR910 для COM-порта
| |
| − | |[[Изображение:AVRProgrammerCOM-AVR910_small.jpg]]
| |
| − | |Очень надежный вариант
| |
| − | |от 25$
| |
| − | |Купить в радиотоварах
| |
| − | |}
| |
| − | | |
| − | | |
| − | == Минимальное железо кроме программатора нужное для экспериментов ==
| |
| − | В этом разделе мы расскажем что вам будет нужно, чтобы начать разработку прошивок для МК AVR и как всё это собрать воедино и запустить тестовый проект.
| |
| − | | |
| − | === Минимальный рекомендуемый набор для разработки устройств на МК ===
| |
| − | В минимальном рекомендуемом варианте, кроме программатора, вам потребуются комплектующие общей стоимостью порядка 20$:
| |
| − | {| class="standard"
| |
| − | !Название
| |
| − | !Внешний вид
| |
| − | !Приблизительная стоимость
| |
| − | !Где взять
| |
| − | |-
| |
| − | |Адаптер питания 220V AC => 5V DC
| |
| − | |[[Изображение:AcDc5V_small.jpg]]
| |
| − | |от 4$
| |
| − | | |
| − | Часто уже есть, например от USB-хабов D-Link
| |
| − | |Купить в радиотоварах
| |
| − | |-
| |
| − | |Макетная плата для работы без пайки
| |
| − | |[[Изображение:SolderlessBreadboard_small.jpg]]
| |
| − | |от 10$
| |
| − | |Купить в радиотоварах
| |
| − | |-
| |
| − | |Микроконтроллер AVR ATMega16 в DIP-корпусе
| |
| − | |[[Изображение:ATMega16DIP_small.jpg]]
| |
| − | |~5$
| |
| − | |Купить в радиотоварах
| |
| − | |-
| |
| − | |Резисторы 0.25Вт, 1 кОм, 10 кОм, 100 Ом по 5 штук каждого
| |
| − | |[[Изображение:Resistors_small.jpg]]
| |
| − | |~0.5$
| |
| − | |Купить в радиотоварах
| |
| − | |-
| |
| − | |Конденсатор 16В 0.1мкФ - 3шт
| |
| − | |[[Изображение:Capacitor_small.jpg]]
| |
| − | |~0.5$
| |
| − | |Купить в радиотоварах
| |
| − | |}
| |
| − | | |
| − | === Правила подключения к МК питания и других обязательных элементов обвязки ===
| |
| − | Здесь будет сказано как подключить к МК питание, ресет и т.п.
| |
| − | | |
| − | === Тестовый проект на МК (мигаем светодиодами) ===
| |
| − | Здесь будет рассмотрен тестовый проект мигающий светодиодами.
| |
| − | | |
| − | == См. также ==
| |
| − | <references />
| |