Как начать программировать микроконтроллеры AVR на C. Какие инструменты нужны для разработки. Как настроить среду разработки. Какие основные концепции нужно знать при программировании AVR на C. Как написать и отладить первую программу для AVR на C.
Введение в программирование микроконтроллеров AVR на языке C
Микроконтроллеры AVR от компании Atmel (теперь Microchip) являются одними из самых популярных для разработки встраиваемых систем. Они обладают рядом преимуществ:
- Низкая стоимость и доступность
- Хорошая производительность
- Наличие бесплатных средств разработки
- Поддержка программирования на языке C
- Большое сообщество разработчиков
Программирование AVR на языке C позволяет существенно упростить и ускорить разработку по сравнению с ассемблером. При этом сохраняется возможность низкоуровневого управления аппаратурой микроконтроллера.
Необходимые инструменты для разработки
Для начала программирования AVR на C потребуются следующие инструменты:
- Микроконтроллер AVR (например, ATmega328P)
- Программатор для прошивки микроконтроллера
- Среда разработки (например, Atmel Studio)
- Компилятор C для AVR (например, avr-gcc)
- Отладочная плата (опционально)
Рассмотрим основные варианты каждого из этих инструментов подробнее.
Выбор микроконтроллера AVR
Для начинающих хорошим выбором будут следующие модели AVR:
- ATmega328P — популярный 8-битный МК, используется в Arduino Uno
- ATmega32 — мощный 8-битный МК с большим объемом памяти
- ATtiny85 — компактный и недорогой 8-битный МК для простых проектов
При выборе стоит учитывать требования к проекту по объему памяти, количеству выводов, энергопотреблению и другим параметрам.
Программаторы для AVR
Для прошивки микроконтроллера потребуется программатор. Наиболее распространенные варианты:
- USBasp — недорогой USB программатор для AVR
- AVRISP mkII — официальный программатор от Atmel
- Arduino в качестве программатора
USBasp является хорошим бюджетным вариантом для начинающих. Он подключается к компьютеру через USB и позволяет программировать большинство микроконтроллеров AVR.
Среда разработки для AVR
Популярные среды разработки для программирования AVR:
- Atmel Studio — официальная бесплатная IDE от производителя
- Microchip Studio — обновленная версия Atmel Studio
- Eclipse + плагины для AVR
- PlatformIO — кроссплатформенная IDE для встраиваемых систем
Atmel Studio (теперь Microchip Studio) является наиболее функциональной средой, включающей компилятор, отладчик и другие инструменты.
Компиляторы C для AVR
Основные компиляторы C для микроконтроллеров AVR:
- avr-gcc — свободный компилятор из набора GNU GCC
- Компилятор IAR — коммерческий компилятор с оптимизацией кода
- CodeVisionAVR — удобный компилятор с генератором кода
avr-gcc является стандартным выбором и входит в состав Atmel Studio. Он бесплатен и обладает хорошей оптимизацией кода.
Настройка среды разработки
Рассмотрим настройку среды разработки на примере Atmel Studio:
- Скачайте и установите последнюю версию Microchip Studio
- При первом запуске укажите используемый микроконтроллер
- Создайте новый проект C/C++
- Настройте параметры проекта (частота, фьюзы и т.д.)
- Подключите программатор и настройте его в IDE
После этого среда будет готова для написания, компиляции и прошивки программ.
Основные концепции программирования AVR на C
При программировании микроконтроллеров AVR на C важно понимать следующие концепции:
- Регистры специального назначения (SFR) для управления периферией
- Побитовые операции для работы с отдельными битами регистров
- Прерывания и их обработчики
- Таймеры и ШИМ
- АЦП и ЦАП
- Последовательные интерфейсы (UART, SPI, I2C)
Эти концепции лежат в основе взаимодействия с аппаратной частью микроконтроллера.
Написание первой программы для AVR на C
Рассмотрим простой пример программы, мигающей светодиодом на AVR:
#include <avr/io.h>
#include <util/delay.h>
#define LED_PIN PB5
int main(void)
{
DDRB |= (1 << LED_PIN);
while (1)
{
PORTB |= (1 << LED_PIN);
_delay_ms(500);
PORTB &= ~(1 << LED_PIN);
_delay_ms(500);
}
}
Эта программа инициализирует вывод PB5 как выход и циклически включает/выключает его с задержкой 500 мс.
Отладка программ для AVR
Для отладки программ на AVR можно использовать следующие методы:
- Симуляция в Microchip Studio
- Внутрисхемная отладка с помощью JTAG или debugWIRE
- Вывод отладочной информации через UART
- Сигнализация состояния светодиодами
Симуляция позволяет проверить логику работы программы без реального оборудования. Внутрисхемная отладка дает возможность пошагового выполнения на реальном устройстве.
Заключение
Программирование микроконтроллеров AVR на языке C открывает широкие возможности для разработки встраиваемых систем. Освоив основные концепции и инструменты, вы сможете создавать сложные проекты на базе AVR. Практика и работа над реальными задачами — ключ к успеху в этой области.
avr gcc — Использование c++ в микроконтроллерах
Вопрос задан
Изменён 5 лет 2 месяца назад
Просмотрен 3k раз
Подскажите пожалуйста, можно ли использовать C++ для программирования микроконтроллеров?
Есть ли при этом какие либо ограничения для языка C++?
- c++
- avr-gcc
- микроконтроллеры
C++ не только можно, но и нужно использовать для программирования микроконтроллеров. Как тут писалось, никаких исключений и операторов new. Для отмены исключений есть даже флаг компилятора, специально для нас. Чем С++ лучше си:
- Строгая типизация. Если что-то не так, получите ошибку при компиляции, а не поиск её в отладке. Наглядный пример, если в функцию передаётся тип перечисления, а вы в си вписали что-то не то (int, к примеру), то в си вы пройдёте компиляцию, в C++ получите ошибку компиляции.
- Ссылки. Философия С++: «не плати за то, что тебе не нужно». Ссылки не занимают место в памяти, код с ссылками смотрится аккуратнее, чем код с указателями. Всегда можно забыть поставить * или &.
- Классы (структуры). Банально удобно описывать не только саму структуру, но и действия с ней. Каждый регистр можно обернуть в классовую обёртку с методами, которые своим названием указывают, что вы делаете. Если код необходимо много комментировать, то это плохой код.
- Объекты. В функцию (класс, метод класса) можно передать ссылку на объект вывода микроконтроллера, а не писать кучу дефайнов всех регистров (легко ошибиться, много исправлять, особенно для всяких stm32).
- Шаблоны. Забудьте про многострочные макросы, ошибки в которых отладить крайне сложно, дебагер в них просто не войдёт. Шаблоны куда лучше препроцессора.
- Оверхеда нет. Это распространённый миф. Грамотный код, написанный на с++ даёт меньший объём бинарников, натыкался на исследования, даже ролики с конференций есть на ютьюбе. (полагаю всему виной ссылки вместо указателей и оптимизация шаблонов).
использовать часто можно, но нужно смотреть на конкретную реализацию. К примеру, может не быть исключений.
С другой стороны, с++ приносит определенный оверхед, а на микроконтроллерах часто бывает важный каждый байт, это не java c большими серверами, где можно докупить планку-другую.
Но микроконтроллеры не стоят на месте и развиваются, как собственно и компиляторы. Возможно, для Вашего контроллера и Вашего случае С++ — лучший вариант.
На самом деле никаких ограничений нет, просто нужен правильный скрипт линковщика с соответствующими секциями для поддержки исключений и виртуальных методов, а так-же релизация аллокаторов/деаллокаторов и STL (конечно это роскошь?). Найти какой скрипт в сети не сложно…
2
Посмотрите на язык Wiring, используемый в Arduino. Это C++ без стандартной библиотеки и исключений, со своей специальной библиотекой. Компилируется он, кстати, упомянутым у вас в тегах avr-gcc.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Книга «Программирование на языке C для AVR и PIC микроконтроллеров.
(+ CD)»-
Книги
- Художественная литература
- Нехудожественная литература
- Детская литература
- Литература на иностранных языках
- Путешествия. Хобби. Досуг
- Книги по искусству
- Биографии. Мемуары. Публицистика
- Комиксы. Манга. Графические романы
- Журналы
- Печать по требованию
- Книги с автографом
- Книги в подарок
- «Москва» рекомендует
-
Авторы • Серии • Издательства • Жанр
-
Электронные книги
- Русская классика
- Детективы
- Экономика
- Журналы
- Пособия
- История
- Политика
- Биографии и мемуары
- Публицистика
-
Aудиокниги
- Электронные аудиокниги
- CD – диски
-
Коллекционные издания
- Зарубежная проза и поэзия
- Русская проза и поэзия
- Детская литература
- История
- Искусство
- Энциклопедии
- Кулинария. Виноделие
- Религия, теология
- Все тематики
-
Антикварные книги
- Детская литература
- Собрания сочинений
- Искусство
- История России до 1917 года
- Художественная литература. Зарубежная
- Художественная литература. Русская
- Все тематики
- Предварительный заказ
- Прием книг на комиссию
-
Подарки
- Книги в подарок
- Авторские работы
- Бизнес-подарки
- Литературные подарки
- Миниатюрные издания
- Подарки детям
- Подарочные ручки
- Открытки
- Календари
- Все тематики подарков
- Подарочные сертификаты
- Подарочные наборы
- Идеи подарков
-
Канцтовары
- Аксессуары делового человека
- Необычная канцелярия
- Бумажно-беловые принадлежности
- Письменные принадлежности
- Мелкоофисный товар
- Для художников
-
Услуги
- Бонусная программа
- Подарочные сертификаты
- Доставка по всему миру
- Корпоративное обслуживание
- Vip-обслуживание
- Услуги антикварно-букинистического отдела
- Подбор и оформление подарков
- Изготовление эксклюзивных изданий
- Формирование семейной библиотеки
Расширенный поиск
Изучение программирования микроконтроллера AVR
До сих пор мы видели, что означает микроконтроллер ? А на что способны ? Но теперь вопрос в том, как вы заставляете микроконтроллер что-то делать, и ответ заключается в программировании. Итак, давайте изучим программирование микроконтроллера AVR и разберемся в тонкостях процесса. Есть несколько вещей, которые пользователь должен сделать для программирования микроконтроллера:
- Настройте свой компьютер для программирования в Windows или Linux (установите необходимый компилятор и инструмент для прошивки)
- Написать программу, которая сообщает чипу, что делать?
- Скомпилировать программу в машинный код
- Запрограммируйте чип с помощью аппаратного программатора, который передает машинный код в микроконтроллер
- Проверка и отладка
Микроконтроллер AVR имеет большое количество поклонников благодаря доступным бесплатным и недорогим инструментам разработки, включая плату для разработки по разумной цене и бесплатные инструменты разработки. В следующей части мы узнаем о программном обеспечении (компиляторе) и аппаратном обеспечении (программаторе) и о том, как их можно использовать для разработки приложения на основе микроконтроллера. Я рекомендую вам придерживаться статьи и следовать по порядку, чтобы лучше понять процесс.
Программирование микроконтроллера AVRМикроконтроллеры AVR достаточно мощны, чтобы эффективно поддерживать язык программирования высокого уровня, такой как C. Чтобы написать программу на C для AVR или любого другого микроконтроллера, нам нужен компилятор C для этого конкретного микроконтроллера. Существует несколько компиляторов C, которые поддерживают микроконтроллеры AVR, и на самом деле большинство из них бесплатны для студентов и начинающих. Они перечислены ниже:
- Atmel Studio 6
- Затмение
- AVR-GCC (GNU) Linux
- ВинАВР
- AVRDude
Вы можете выбрать любую IDE из списка для написания своих программ. Здесь, в нашем руководстве, мы рассмотрим Atmel Studio 6. Пожалуйста, посмотрите видео, которое продемонстрирует вам, как установить и настроить среду, чтобы начать писать свою первую программу.
AVR USB ProgrammerАппаратное обеспечение, подключенное к компьютеру, которое программирует микроконтроллер AVR, называется AVR Programmer. После того, как вы закончили писать и компилировать свое программное приложение в AVR C. Вам нужно загрузить этот выходной файл, который является шестнадцатеричным файлом, в микроконтроллер, и это роль программиста. На рынке доступно несколько типов программаторов, например: AVR USB Programmer (USBasp), AVR Pocket Programmer (USB Tiny ISP), AVR ISP mkII, AVR ISP mkIII…..и т. д. и т. д.…
Если вы такой же, как я, то вас может заинтересовать AVR USB Programmer на базе прошивки USBasp с открытым исходным кодом, и вы даже можете создать свой собственный, если хотите.
Пожалуйста, следуйте приведенному ниже видео, в котором вы узнаете все подробности о процедуре, чтобы все заработало.
youtube.com/embed/GYQRC81SHE8?list=PL4pptAPY2kIeCFdU__MYsDeuy6Thso8at» frameborder=»1″ allowfullscreen=»allowfullscreen»>Я надеюсь, что вы найдете этот пост познавательным и интересным. В следующих уроках мы рассмотрим готовые примеры для каждого периферийного устройства микроконтроллера ATmega32A.
Smiley’s Workshop 1: Знакомство с серией семинаров по программированию на AVR C
» Перейти к дополнительным материалам
Серия семинаров по программированию на AVR C. Часть 1 континентах, в которых легко заблудиться. Сочетание этих двух вещей немного похоже на путешествие от Аляски до Огненной Земли. Скорее всего, вы совсем потеряетесь, и если туземцы вас не съедят, ваши инфицированные волдыри заставят вас сидеть и дуться. Я шел по этой дороге так много раз, что у меня, наверное, есть своя личная колея, вытравленная в метафорической почве… и я могу указать на острые камни, на которые я наступил, на ветки, которые били меня по лицу, и кусты, из которых прыгали хищники.
Если вы представляете себе оборванного бомжа, спотыкающегося по джунглям, вы меня правильно поняли. Считайте эти семинары комбинацией дорожной карты, путеводителя и аптечки первой помощи для вашего путешествия в этот увлекательный, но иногда опасный мир.РИСУНОК 1. Изобретение C. |
Я настоятельно рекомендую вам приобрести книгу «Язык программирования C — второе издание » Кернигана и Ритчи, далее именуемую K&R. Деннис Ритчи ( Рисунок 1 ) написал C, и его книга является окончательным источником по всем вопросам C.
, разработав оригинальную операционную систему Unix в Bell Labs на PDP-11.
Я решил следовать организационной структуре этой книги в этой серии семинаров. Основное отличие состоит в том, что их книга не зависит от машины и дает множество примеров, основанных на манипулировании текстом, в то время как эти семинары зависят от машины, особенно на основе микроконтроллера AVR, и примеры ориентированы на микроконтроллеры настолько, насколько я могу их сделать.
Почему С?
В средневековье микропроцессоров разработка программного обеспечения велась исключительно на языке ассемблера конкретного устройства. Эти языки ассемблера представляли собой символьные «мнемоники» для замены числовых кодов машинных языков. Вместо того, чтобы писать что-то вроде: 0x12 0x07 0xA4 0x8F, чтобы заставить устройство загрузить значение в ячейку памяти, вы могли бы написать что-то вроде: MOV 22, MYBUFFER+7. Ассемблер переведет это утверждение на машинный язык для вас.
Я писал код на машинном языке (в качестве обучающего эксперимента) и поверьте мне, когда я говорю вам, что язык ассемблера — это важный шаг в повышении производительности. Но язык ассемблера устройства привязан к устройству и способу его работы. Языки ассемблера трудно освоить, и они устаревают для вас в тот момент, когда вы меняете семейство микроконтроллеров. Это языки специального назначения, которые работают только на определенных микропроцессорах. C — это язык программирования общего назначения, который может работать на любом микропроцессоре, для которого написан компилятор C.
C абстрагирует понятия того, что делает компьютер, и предоставляет основанный на тексте логический и удобочитаемый способ заставить компьютеры делать то, что делают компьютеры. Как только вы изучите C, вы сможете легко перемещаться между семействами микроконтроллеров, намного быстрее писать программное обеспечение и создавать код, который намного легче понять и поддерживать.
Почему АВР?
Существует много отличных семейств микроконтроллеров, но я выбрал AVR, потому что, среди многих причин, он был разработан с учетом языка программирования C, имеет флэш-память, которую можно настроить с помощью загрузчика (подробнее об этом позже) , и у меня лучший пользовательский форум, который я когда-либо использовал: www.avrfreaks.net .
AVR быстрый, дешевый, внутрисхемно программируемый, а программное обеспечение для разработки можно получить БЕСПЛАТНО (действительно бесплатно, без каких-либо увечий или ограничений). Я заплатил тысячи долларов за отладочные платы, устройства для программирования и компиляторы C для других микропроцессоров, но больше никогда — я люблю бесплатное. Аппаратное обеспечение, используемое на этих семинарах — Atmel AVR Butterfly — можно модифицировать с помощью нескольких компонентов, чтобы превратить его в приличную обучающую систему, а необходимые компоненты можно приобрести менее чем за 40 долларов. Вы не можете получить лучшую систему обучения за 10-кратную цену, и вы можете заплатить в 100 раз больше и не получить такой же хорошей.
В Интернете часто можно встретить споры о том, какой микроконтроллер или язык программирования «лучший». Люди принимают чью-либо сторону, и вскоре начинается религиозная война. Я не хочу вступать в этот спор, поэтому просто скажу, что AVR — лучший микроконтроллер, а C — лучший язык программирования, и если вы мне не верите, вы обречены на гибель — аллилуйя и аминь. (Согласовано! — Ред.)
Цели семинара
В этой серии я надеюсь помочь вам научиться НЕКОТОРЫМ программированию на языке С на КОНКРЕТНОМ микроконтроллере и предоставить вам достаточные базовые знания, которые вы сможете использовать самостоятельно. в какой-то степени готовы справиться со многими видами микроконтроллеров и систем программирования C, которые заполонили планету.
И программирование на C, и микроконтроллеры лучше всего изучать во время работы над проектами. Я пытался предоставить проекты, которые улучшают процесс обучения, но я должен признать, что некоторые из проектов довольно неубедительны и вводятся в основном для того, чтобы помочь вам изучить синтаксис и методы C.
Я знаю, как легко увязнуть во всех деталях и потерять импульс в этом путешествии, поэтому мы начнем с краткого руководства и изучим ровно столько, чтобы инструменты нашей обучающей платформы заработали — что-то вроде реактивного самолета. кататься по территории.
Краткое руководство по учебной платформе AVR
Программное обеспечение
AVR Studio — БЕСПЛАТНО и стоит того.
AVR Studio предоставляется бесплатно добрыми людьми из Atmel Corporation, которые, кажется, понимают, что чем больше полезного бесплатного материала они дают разработчикам, тем больше они будут продавать свои микроконтроллеры. На самом деле, это программное обеспечение может стоить сотни и все еще чертовски того стоит, но если вам просто не нравится Норвегия, не отправляйте им деньги; они получат свои на серверной части, когда вы начнете покупать тысячи AVR для своего следующего великого изобретения. Семинар основан на версии 4.14, и если вы используете более новую версию, вы можете найти отличия в ней и в наших обсуждениях. Вы можете найти AVRStudio в www.atmel.com в разделе AVR Tools & Software: http://atmel.com/dyn/products/tools_card.asp?tool_id=2725) .
WinAVR — О, всякий раз…
WinAVR — это набор инструментов компилятора GCC для Windows, который мы будем использовать в AVR Studio. Мы будем использовать этот пакет в среде AVR Studio IDE, в которой есть подключаемый модуль GCC, который находит установку WinAVR и адаптирует ее к среде IDE. Вы можете найти WinAVR по адресу: http://sourceforge.net/projects/winavr/.
Терминал разработчика
На рис. 2 показан терминал ПК, который мы будем использовать для связи с AVR в нашей мастерской. Вы можете получить программу установки терминала и сопутствующие документы по адресу www.smileymicros.com . Исходный код на C# и Visual Basic .NET для этого терминала подробно обсуждается в книге Virtual Serial Port Cookbook (мной) и доступен в интернет-магазинах Nuts & Volts и www.smileymicros.com .
РИСУНОК 2. Терминал разработчика. |
Фурнитура
Удивительно, сколько всего встроенного в Butterfly:
- 100-сегментный ЖК-дисплей
- 4 Мбит (это 512 000 байт!) данных Флэш-память
- Часы реального времени Генератор 32,768 кГц
- Четырехпозиционный джойстик с центральной кнопкой
- Датчик освещенности
- Датчик температуры
- Показания напряжения АЦП, 0–5 В
- Пьезодинамик для генерации звука
- Контактные площадки для доступа к периферийным устройствам
- Преобразователь уровня RS-232 для связи с ПК
- Загрузчик для программирования на ПК без специального оборудования
- Запрограммированные демонстрации с исходным кодом
- Встроенная английская булавка для подвешивания к рубашке (GEEK POWER!)
- Кухонная мойка
РИСУНОК 3. Фасад бабочки. |
Я имею в виду, что в этой штуке есть все (кроме кухонной раковины… извините). Если кто-то может найти учебную платформу с такой же стоимостью по этой цене, я хочу услышать об этом. Если мне покажется, что я немного брежу, привыкайте к этому. Я часто так делаю.
На коробке AVR Butterfly есть инструкции по использованию встроенных функций. Поиграйте с ним сейчас, прежде чем вы рискуете уничтожить его на следующем шаге. Я содрогаюсь при мысли о том, сколько из этих вещей сожгут, взорвут, на них наступят и зальют кофе. (И это только я сегодня утром.) После того, как вы увидели, как он работает из коробки, извлеките аккумулятор и приготовьтесь добавить компоненты для нашей обучающей платформы.
РИСУНОК 4. Мини-комплект Butterfly++. |
Конструкция мини-набора Butterfly++
Butterfly представляет собой прекрасную платформу для обучения, но она может быть еще лучше с несколькими дополнительными деталями, которые Smiley Micros поставляет в мини-наборе Butterfly++. Этот комплект включает в себя датчик освещенности CdS, гнездовой разъем DB-9 и провода, а также держатель для двух батареек AA со светодиодом включения и резистором.
Добавление датчика освещенности CdS
AVR Butterfly от Atmel больше не имеет датчика освещенности из-за соображений соответствия европейским директивам RoHS (не заставляйте меня начинать…). Мини-набор содержит подходящий компонент-заменитель, который пользователь должен припаять к Butterfly, чтобы использовать функцию датчика освещенности. Этот датчик работает с существующим программным обеспечением Butterfly.
Датчик света CdS представляет собой устройство, сопротивление которого пропорционально падающему свету. В качестве резистора устройство не имеет полярности, поэтому любую ногу можно вставить в контактные площадки, обведенные красным (см. 9).0003 Рисунок 5 ). Установите датчик вплотную к верхней части бабочки, затем припаяйте ножки к нижней части и обрежьте их чуть выше мениска припоя.
РИСУНОК 5. Экспонометр Butterfly CdS. |
Гнездовой разъем и провод DB9
Для связи с ПК Butterfly должен быть подключен к последовательному кабелю. Мини-набор содержит разъем и провод для подключения к последовательному кабелю.
Butterfly имеет встроенный преобразователь RS-232 для последовательной связи с ПК. Большинство последовательных кабелей будут иметь штекерный разъем DB-9 на стороне устройства, который будет сопрягаться с прилагаемым гнездовым разъемом DB-9 (успокойтесь — это техническая проблема).
РИСУНОК 6. Соединение RS-232 DB9. |
Зачистите примерно 1/8 дюйма с концов каждого провода, а затем аккуратно припаяйте их к Butterfly и DB-9.разъем, как показано на рис. 6 . Обратите внимание, что верхние провода на картинке пересекаются. Будьте очень осторожны, чтобы получить это точно в соответствии с Рисунок 6 ; около половины писем, которые я получаю о проблемах, связаны либо с неправильной разводкой, либо с плохой пайкой этого компонента.
РИСУНОК 7. Учебная платформа AVR Workshop. |
Розетка
См. Рисунок 7 , чтобы увидеть расположение контактных площадок ADC, USI, PORTB и PORTD. Припаяйте двухконтактный разъем к контактным площадкам АЦП; четырехконтактный разъем для контактных колодок USI; и 2×5 заголовков к контактным площадкам PORTB и PORTD. Обратите внимание, что Рисунок 7 показывает мужской заголовок на панели ISP; это не входит в комплект и не будет использоваться в нашей работе (возможно, позже).
Учебная плата AVR
Учебная платформа AVR Workshop построена на пенопластовой плите, которая находится в защитной пенопластовой коробке. (Подробности об этой конструкции можно найти в Smiley’s Workshop 1 Supplement: AVR Learning Platform Foamcore Base and Box по адресу www.nutsvolts.com что он проходит под изоляцией, чтобы сделать эти провода достаточно прочными, чтобы их можно было вставить в шину питания макета. Красный провод идет к красной шине +, а черный провод — к синей шине. Соедините две шины питания красным и зеленым проводом, а затем поместите на макетную плату светодиод с резистором 2,2 кОм. Резистор идет на + питания; короткая ножка светодиода идет на – питание. Затем светодиод и резистор соединяются на макетной плате.
РИСУНОК 8. Крупный план соединений питания. |
Butterfly получает питание от шины, как показано на рисунке, красный провод «+» идет к самой правой верхней части разъема, а зеленый провод «–» идет к самому правому нижнему краю разъема.
Проверьте соединение с помощью терминала разработчика
Подключите соединение Butterfly DB-9 к кабелю RS-232 от ПК. Если вы используете преобразователь USB-последовательный кабель, у вас могут возникнуть проблемы, если уровни напряжения неустойчивы. Я использовал несколько и не было проблем.
Открыть терминал разработчика. Вы можете прочитать руководство пользователя (рекомендую: RTFM), нажав «Справка/Руководство». Нажмите пункт меню «Настройки/Порт», чтобы открыть окно настроек. Выберите COM-порт RS-232, к которому подключен Butterfly. Установите скорость передачи данных на 19200, биты данных на 8, четность на None, стоповые биты на 1 и квитирование на none. Вы можете проверить, правильно ли работает ваша учебная платформа, двумя способами. Простой тест состоит в том, чтобы выключить питание Butterfly, а затем, НАЖИМАЯ КНОПКУ ДЖОЙСТИКА В ЦЕНТР, снова включить питание. Теперь каждый раз, когда вы нажимаете кнопку джойстика в центр, вы должны видеть ряд вопросительных знаков (???????) в окне приема Simple Terminal. Это загрузчик Butterfly задается вопросом, что, черт возьми, происходит.
Другой тест — включить Butterfly и щелкнуть джойстиком вверх, чтобы запустить прокрутку ЖК-дисплея. Переместите джойстик прямо вниз три раза, пока не появится надпись «Имя», затем дважды переместите джойстик вправо, пока не появится надпись «Введите имя». на мгновение, пока не появится надпись «Ожидание ввода».
В терминале разработчика убедитесь, что переключатель «Отправить текст: Немедленно» установлен. Введите свое имя, затем в раскрывающемся списке «Отправить HEX Immediate» выберите и щелкните 0x0D, который сообщает Butterfly, что вы закончили отправку символов. Ваше имя должно появиться на ЖК-дисплее.
Это непросто, и есть много возможностей напортачить на этом пути. У многих людей это получается сразу же, но у других, похоже, есть приступы преодоления этого препятствия, поэтому я предоставил Workshop 1 Supplement: Problems Communicating with the Butterfly, в разделе загрузок на странице этой статьи по адресу www. nutsvolts. .com , чтобы помочь вам пройти этот этап. Поверьте мне, если вы видите ????? или прокрутите свое имя на ЖК-дисплее, вы преодолели серьезный горб, и последующие семинары будет легче начать, чем этот шаг.
Ну, это было много, и мы еще не начали. В следующем месяце мы рассмотрим программную часть AVR Learning Platform и узнаем о AVRStudio IDE и наборе инструментов компилятора WinAVR C. Мы напишем нашу первую программу на C и аппаратно создадим набор Cylon Eyes. NV