Изучение интегрированной среды разработки AVR Studio_
Лабораторная работа №1 ИЗУЧЕНИЕ ИНТЕГРИРОВАННОЙ СРЕДЫ РАЗРАБОТКИ AVR STUDIO Цель работы состоит в ознакомлении с возможностями среды разработки AVR Studio и практическом освоении режимов её работы. 1. Общие сведения AVR Studio – это интегрированная отладочная среда разработки приложений (IDE) для микроконтроллеров AVR компании Atmel (рис. 1). IDE AVR Studio содержит: средства создания и управления проектом; редактор кода на языке Ассемблер; транслятор языка Ассемблера (Atmel AVR ); отладчик (Debugger); программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (In-System Programming, ISP) с использованием стандартных отладочных средств Atmel AVR. Рис. 1. Интерфейс интегрированной среды разработки AVR Studio
Работа с AVR Studio начинается с создания проекта. Сначала необходимо указать используемый микроконтроллер (МК) и платформу, на которой будет производиться отладка программы. Написание программы производится в окне редактора текста программы.
AVR для начинающих «Учимся отлаживать проект в программе Atmel Studio (Урок 3 )»
Для использования символических имен регистров специального назначения вместо их адресов необходимо подключить (директива .include) к проекту файл определения регистров специального назначения (например, m16def.inc для ATmega16). Включаемые файлы входят в прикладное программное обеспечение AVR Studio и при инсталляции помещаются в папку Appnotes в директории установки AVR Studio.
Написание программы в AVR Studio производится на языке Ассемблер. Последние версии AVR Studio содержат AVR Ассемблер второй версии, который в дополнение к стандартному Ассемблеру поддерживает новые директивы Ассемблера, Си — подобные директивы препроцессора, создание переменных определенного типа. В результате трансляции создается выходной файл в формате HEX (расширение .hex).
Если не выдается сообщений об ошибках, можно приступать к отладке проекта. Отладчик AVR Studio поддерживает все типы МК AVR и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных эмуляторов (In-Circuit Emulators) производства фирмы Atmel. Важно отметить, что интерфейс пользователя не изменяется в зависимости от выбранного режима отладки.
Отладочная среда поддерживает выполнение программ как в виде ассемблерного текста, так и в виде исходного текста языка Си, загруженного в объектном коде. Управление отладкой производится командами меню DEBUG либо соответствующими иконками на панели инструментов AVR Studio.
Пользователь может выполнять программу полностью в пошаговом режиме, трассируя блоки функций или выполняя программу до того места, где стоит курсор. В дополнение можно определять неограниченное число точек останова, каждая из которых может быть включена или выключена. Точки останова сохраняются между сессиями работы.
В AVR Studio для отладки программы предусмотрены две команды пошагового режима: Step Over и Trace into. Разница между ними в том, что при выполнении команды Step Over выполнение подпрограмм происходит до полного окончания без отображения процесса выполнения. К командам шагового режима также относится команда Auto Step.
Микроконтроллеры AVR. С чего начать. Программа для прошивки. Khazama AVR Programmer
С помощью команд пошагового режима можно проследить изменения значений в переменных, регистрах ввода/вывода, памяти и регистрового файла. Для этого предназначены раздел I/O рабочей области AVR Studio (см. рис. 1), окно Watch (меню Debug Quick watch).
Интегрированная среда разработки AVR Studio также поддерживает просмотр (меню View / Memory) ячеек памяти программ, памяти данных, EEPROM и регистров портов ввода/вывода в ходе исполнения. Выпадающее меню диалогового окна позволяет выбрать один из четырех массивов ячеек памяти: Data, IO, EEPROM, Program Memory. Для одновременного просмотра нескольких областей окно Memory может быть открыто несколько раз.
Информация в диалоговом окне может быть представлена в виде байтов или в виде слов в шестнадцатеричной системе счисления, а также в виде ASСII-символов. В процессе отладки пользователь может инициализировать внутреннее ОЗУ, или EEPROM МК (например, данными, содержащимися в полученном при трансляции файле .eep), или сохранить содержимое ОЗУ и EEPROM в виде файлов в формате Intel Hex (меню File -> Up/Download Memory).
Помимо шагового режима, возможна отладка программы с использова- нием точек останова (меню Breakpoints -> Toggle Breakpoint). Командой Start Debugging запускается исполнение программы. Программа будет выполняться до остановки пользователем или до обнаружения точки останова. Для наблюдения за работой программы можно открыть несколько окон, отображающих состояние различных узлов МК (см. рис. 1).
Окна открываются нажатием соответствующих кнопок на панели инструментов или при выборе соответствующего пункта меню View. Если в процессе выполнения программы в очередном цикле значение какого-либо регистра изменится, то этот регистр будет выделен красным цветом. При этом если в следующем цикле значение регистра останется прежним, то цветовое выделение будет снято.
Такое же цветовое выделение реализовано в окнах устройств ввода/вывода, памяти и переменных. Состояние встроенных периферийных устройств МК, а также состояния программного счетчика, указателя стека, содержимого регистра статуса SREG и индексных регистров X, Y и Z отображено в окне I/O View. В этом окне отражаются все функциональные блоки микроконтроллера.
Любой блок может быть раскрыт нажатием на его значок. При раскрытии блока в окне отражаются адреса и состояния всех его регистров и отдельных, доступных для модификации, битов. Каждый доступный для модификации бит может быть установлен или сброшен как программой по ходу ее исполнения, так и пользователем вручную (указав курсором мыши нужный бит и щелкнув левой кнопкой мыши, пользователь может изменить значение бита на обратное), а в режиме программной симуляции это является способом имитации входного воздействия на МК.
2. Домашнее задание 1. Ознакомиться с настоящим описанием. 2. Изучить архитектуру микроконтроллеров AVR [3]. 3. Изучить систему команд микроконтроллеров AVR [3]. 4. Проанализировать программу, приведенную ниже. 3. Порядок выполнения работы Последовательность действий, которую нужно выполнить: — создание проекта; — создание файла программы; — компиляция; — симуляция.
1. Запустить программу: из меню Пуск-> Все программы ->Atmel AVR Tools ->AVR Studio 4. 2. В появившемся окне выберите New Project или то же самое можно сделать из меню Project/New Project. 3. Укажите имя и расположение проекта на жестком диске, например, как на рис. 2 введено имя My project и указано его расположение D:AVR Project. Нажмите Next. Рис. 2. Окно для указания имени и месторасположения проекта 4. В появившемся окне (рис.
3) выберите AVR Simulator и ATmega8515. Нажмите Finish.
Рис. 3. Окно для выбора платформы для отладки и марки МК 5. В открывшемся окне редактора наберите исходный текст программы (комментарии на русском языке можно не набирать): .include «8515def.inc» .def Temp =r16 ; Регистр хранения временных данных .def Delay =r17 ; Переменная 1 для генерации задержки .def Delay2 =r18 ; Переменная 2 для генерации задержки ;***** Инициализация RESET:
ser temp | ||
out DDRB, temp | ; Настройка порта В (PORTB) на вывод | |
;**** Тестирование ввода/вывода | ||
LOOP: | ||
out PORTB,temp | ; Обновление состояния светодиодов | |
sbis PIND,0x00 | ; Если PortD.0 = 0, | |
inc temp | ; то уменьшение на 1 двоичного кода, формируемого свечением светодиодов | |
sbis PIND,0x01 | ; Если PortD.1 = 0, | |
dec Temp | ; то увеличение на 1 двоичного кода, формируемого свечением светодиодов | |
sbis PIND,0x02 | ; Если PortD.2 = 0, | |
ror Temp | ; то циклический сдвиг состояния светодиодов на 1 вправо | |
sbis PIND,0x03 | ; Если PortD.3 = 0, | |
rol Temp | ; то циклический сдвиг состояния светодиодов на 1 влево | |
sbis PIND,0x04 | ; Если PortD.4 = 0, | |
com Temp | ; то инверсия состояния всех светодиодов | |
sbis PIND,0x05 | ; Если PortD.5 = 0, | |
neg Temp | ; то инверсия состояния и прибавление 1 | |
sbis PIND,0x06 | ; Если PortD.6 = 0, | |
swap Temp | ; то обмен тетрадами светодиодов |
;*** Далее необходима задержка, чтобы сделать проделанные изменения видимыми DLY: dec Delay 8
brne DLY | |
dec Delay2 | |
brne DLY | |
rjmp LOOP | ; Повторение цикла заново |
В лабораторной работе №2 эта программа будет запрограммирована в МК ATMega8515 и будет управлять включением светодиодов на плате STK 500. Так как симуляция проекта выполняется во много раз медленнее, чем выполнение программы реальным МК, на время симуляции отключите задержку, которая записана в последних строчках программы.
Для этого поставьте знак точка с запятой «;» в начале четырех строчек программы между строчками DLY и rjmp LOOP . 6. Запустите компиляцию проекта командой Build/Build или клавишей F7. При появлении сообщения об ошибке наведите на него указатель мышки и щелкните левой кнопкой. Строка с ошибкой в тексте программы будет указана синей стрелкой. Если ошибок нет, выполните симуляцию проекта.
7. Запустите отладку из меню Debug/Start Debugging. В окне I/O View раскройте меню I/O ATMEGA8515, а затем PORT B и PORT D (рис. 4). Запустите программу на выполнение из меню Debug/Auto Step или кнопкой на панели инструментов. Строка программы, которая выполняется в текущее время указывается в окне редактора желтой стрелкой (см. рис.4).
Имитировать нажатие кнопок можно щелчком кнопки мыши, когда её указатель наведен на соответствующий бит в регистре PIN D. 8. Продемонстрируйте работу в режиме отладки преподавателю. Рис. 4. Окно I/O View Контрольные вопросы 1. Чем отличается микроконтроллер от микропроцессора? 2. Чем отличается симуляция от эмуляции?
Источник: studfile.net
Основы программирования микроконтроллеров AVR
С этой статьи мы начнем конкретно заниматься одним вопросом — программирование микроконтроллеров. Процесс будет проходить следующим образом — сначала статья по устройству микроконтроллера (к примеру, первая статья будет по портам ввода-вывода), а затем статья по программированию. Сегодняшний наш разговор вводный, и будет посвящен вопросам материального и программного обеспечения процесса изучения основ программирования микроконтроллеров.
Стартовый набор начинающего микроконтроллерщика
Для начала я бы разделил начинающих микроконтроллерщиков на три условные группы:
- радиолюбители, желающие собирать готовые решения на микроконтроллерах, но не имеющие желания изучать программирование;
- желающие освоить программирование и собирать конструкции на микроконтроллерах, но выбравшие наиболее простой путь — Arduino;
- желающие полностью разобраться в устройстве и программирование микроконтроллеров и собирать свои собственные конструкции.
Для первой группы все очень просто:
— приобрести программатор и научиться с ним работать
Для второй группы остановлюсь немного подробнее.
Arduino ориентирована на начинающих, непрофессиональных пользователей, и состоит из двух частей — программной и аппаратной.
Программная часть состоит из бесплатной программной оболочки для написания программ, их компиляции и программирования устройства.
Язык программирования — стандартный С++ с некоторыми изменениями облегчающими работу с этим языком (хотя есть возможность создавать программы или подключать готовые файлы проектов используя стандартный язык С++). Научиться программировать в Arduino очень просто (поэтому программы на Arduino называются «наброски») — весь процесс программирования сводится в основном к выбору необходимых готовых библиотек для получения конкретного результата.
Аппаратная часть состоит из готовой платы с микроконтроллером с необходимой обвязкой для нормальной работы микроконтроллера и плат расширения (шилды). Кроме того выпускается множество готовых датчиков и исполнительных устройств. Весь процесс сборки конструкции на Arduino напоминает конструктор «Лего» — выбираете необходимые платы расширения и устройства и стыкуете их с основной платой. Для загрузки программы отдельный программатор не требуется.
Arduino вещь конечно хорошая, но предназначена в основном только для тех, кто хочет собирать конструкции на микроконтроллерах, но не хочет загружать свои мозги лишними (по их мнению) знаниями (это сугубо мое мнение).
Ну а мы причисляем себя к третьей группе и пойдем хотя и тернистым, но очень интересным путем.
Для того, чтобы начать практическое изучение как устройства, так и программирование микроконтроллера, нужно иметь минимальную материальную базу — стартовый набор. Стартовый набор, необходимый по моему разумению для освоения микроконтроллера можно приобрести в интернет-магазине сайта «МирМК-SHOP» (так-что эту статью можно считать и коммерческой рекламой :)):
Хочу отметить комментарий одного читателя сайта. К сожалению комментарий куда-то улетучился, и не сохранилось даже имя читателя, но человек подметил очень точно — это не первый вариант набора, а уже третий, более дорогой — изменилась комплектация набора, она стала более расширенной, добавлены новые (нужные) комплектующие (прошу читателя сайта, оставившего комментарий, меня извинить за ошибку работы сайта). Я не пытаюсь навязать читателям сайта что-то купить в интернет-магазине сайта. Это совсем необязательно, можете заказать у Китайских товарищей.
А теперь к главному:
1. Для практических опытов нам потребуется микроконтроллер (а лучше три):
— наиболее популярные и востребованные микроконтроллеры — ATmega8A-PU и ATtiny2313A-PU, ATtiny13A- PU. Кстати, ATtiny13 очень популярный МК, и не зря его называют «малюткой» — малые возможности — но серьезные разработки.
2. Для записи программы в микроконтроллер необходим программатор:
— идеальное решение, на мой взгляд, — программатор USBASP, от которого мы к тому-же будем получать напряжение 5 Вольт для будущих конструкций.
3. Для визуальной оценки и выводов результатов работы программы необходимы средства отображения информации:
- светодиоды;
- семисегментный светодиодный индикатор;
- знакосинтезирующий (буквенно-цифровой) LCD дисплей.
4. Для изучения процессов общения микроконтроллера с другими устройствами:
— цифровой датчик температуры DS18B20 и часы реального времени DS1307 (очень практичные устройства).
5. Кроме того нам потребуются транзисторы, резисторы, кварцевые резонаторы, конденсаторы, кнопки:
- биполярные транзисторы структуры NPN и PNP;
- набор резисторов различного номинала;
- кварцы (вот тут я выкинул лишнее) на 32,768 кГц, 8 МГц;
- керамические конденсаторы на 22 pF;
- тактовые кнопки.
6. Для сборки конструкций на микроконтроллере понадобится макетная плата для монтажа без пайки и набор перемычек к ней:
- макетная плата МВ102 (идеально иметь две такие платы — они стыкуются между собой, что очень пригодится в дальнейшем);
- соединительные перемычки к макетной плате трех типов — гибкие (мама-мама, папа-папа) и жесткие П-образной формы.
Получается вот такой набор:
В дальнейшем, часть из этого набора — макетная плата и перемычки к ней, программатор всегда будут нужны для проектирования и тестирования ваших конструкций, а остальная часть может быть применена в этих конструкциях.
С материальной базой разобрались, переходим ко второму вопросу.
Выбор языка программирования и среды разработки для программирования
Честно говоря, выбор языка программирования и среды разработки вопрос очень ответственный, навязывать кому-то свои предпочтения и что-то советовать дело довольно-таки трудное.
Давайте попробуем подойти к этому выбору не предвзято, чисто с практической стороны.
1. Существует два основных языка программирования микроконтроллеров — Ассемблер (язык низкого уровня) и Си (язык высокого уровня). Если мы хотим программировать микроконтроллеры используя полностью все их возможности (а мы это хотим), то необходимо изучать эти два языка.
2. Среда разработки для программирования микроконтроллеров.
Тут выбор большой и очень много мнений. Поэтому можно сказать: «Каждая лягушка хвалит свое болото». Мне, к примеру, очень нравится малораспространенная графическая среда разработки «Algorithm Builder», и «квакать» о ее преимуществах перед другими программами я могу очень долго. Но будем делать выбор, как было сказано выше, не предвзято и практично.
Микроконтроллеры AVR выпускает фирма Atmel, она же предоставляет в наше распоряжение бесплатную среду программирования «Atmel Studio» (бывшая AVR Studio). На ней мы и остановимся.
Интегральная среда разработки (IDE — Integrated development environment) Atmel Studio позволит нам:
- писать программы как на Ассемблере, так и на Си (Почему на Си. Программа «Atmel Studio» позволяет писать программы на трех языках (О чем мы и погорим в первой статье), но есть одно но: программы на Си++ мы рассматривать не будем, по одной причине, и в следующей статье я расскажу об этом;
- отладить программу;
- перевести программу в машинный код (откомпилировать);
- записать программу в микроконтроллер.
Все, выбор мы сделали:
Теперь осталось выполнить два пункта:
1. Обзавестись каким-нибудь стартовым набором (для начала хватит и микроконтроллера ATmega8, нескольких светодиодов, пары кнопок и сопротивлений к ним).
2. Установить (именно установить, а не скачать, и с регистрацией) с официального сайта Atmel (http://www.atmel.com/ru/) программу Atmel Studio.
Программировать микроконтроллеры мы будем с использованием программатора USBASP.
Отдельной статьи по Atmel Studio я писать не буду, будем изучать ее постепенно, по мере надобности и в связке со статьями по устройству и программированию микроконтроллеров.
3. Я добавил в набор очень нужную вещь, она Вам в дальнйшем очень пригодится — USB-TTL преобразователь (конвертер). Почему пригодится:
— русифицируя программу мы установили «Visual Studio-2015», кто не русифицировал программу — установите последнюю версию «Visual Studio», мы не только будем изучать базовую программу «Atmel Studio». К сожалению, на сегодняшний день только программа 2015 года позволяет перейти на русский язык в «Atmel Studio», но а мы с Вами, в «Visual Studio», будем создавать оболочки для работу с МК.
Следующие статьи
(23 голосов, оценка: 4,87 из 5)
Источник: microkontroller.ru
Avr atmel что это за программа
Все версии AVR Studio от Atmel отличались падучестью и мелкими неудобствами, и переход со старой версии на новую практически никаких улучшений не давал. Поэтому, попробовав версию AVR Studio 5, и не найдя в ней практически ничего полезного и нового, кроме смены интерфейса, я долго откладывал переход на новую версию AVR Studio: Atmel Studio 6.
Основное достоинство новой версии бесплатной популярной среды разработки Atmel Studio 6 от Atmel — она теперь основывается на движке Visual Studio 2010, и имеет абсолютно такой же интерфейс, как и популярная среда разработки программ для PC — Microsoft Visual Studio 2010. Это упрощает освоение среды программирования AVR для тех, кто уже знаком с традиционным интерфейсом Visual Studio. Кроме того, значительно повысилась устойчивость в работе. Кратко перечислю полезные нововведения, которые мне удалось заметить:
1. Привычная среда разработки Microsoft Visual Studio 2010 теперь доступна для AVR.
2. Интерфейс IDE стал работать надежнее.
3. Введена качественная подсветка синтаксиса.
4. В редакторе кода теперь есть автозавершение переменных, операторов, подсказки по исходному коду.
5. Теперь система разработки поддерживает не только AVR, AVR32 и XMEGA, но и платформу ARM® Cortex™-M.
6. В качестве ядра компиляции используется все тот же GCC, который устанавливается автоматически в процессе инсталляции Atmel Studio. Т. е. теперь не нужно отдельно устанавливать тулчейн WinAVR, все есть в одном инсталляторе.
7. Старые проекты AVR Studio легко импортируются в новую среду.
8. Вывод сообщений компиляции отфильтрованы по ошибкам (Errors) и предупреждениям (Warnings).
9. Есть возможность быстро перейти к реализации (описанию) функции, переменной или макроса, выделив его в редакторе и нажав Alt+G.
10. Появилась удобная фича переименования переменных, констант и функций через меню VAssistX -> Refactor -> Rename. (функция Refactor -> Rename также доступна в контекстном меню редактора кода).
Что, на мой взгляд, еще требует доработки:
1. К сожалению, в контекстном меню нет привычного пункта «Перейти к определению ..» (Go to definition of ..), которое удобно для нахождений мест определения переменных, макроопределений и функций. Его заменяет горячая комбинация клавиш Alt+G.
2. Справочная система перенесена в онлайн и не очень удобна.
[Первоначальная настройка Atmel Studio 6]
Для удобства работы некоторые опции имеет смысл сразу настроить после первого запуска Atmel Studio.
1. Отступы и табуляции в текстовом редакторе: Сервис -> Параметры. -> Текстовый редактор -> Все языки -> Табуляция. Настройте нужный интервал табуляции в символах, и переключите радиокнопку типа табуляции на «Вставлять пробелы».
2. Все комментарии на русском подсвечиваются спелчекером Visual Assist X красным, как ошибочные, поэтому проверку синтаксиса в комментариях нужно отключить. Это делается через VAssistX -> Visual Assist X Options. -> Advanced -> Underlines -> снимите галочку «Underline spelling errors in comments and strings using ..».
[Настройка выбранного для компиляции тулчейна — Flavour Configuration]
Проект (исходный код на C и/или ASM) собирается компилятором GCC, к которому в комплекте идут библиотеки и файлы заголовков (хедеры, header, файлы с расширением *.h). Этот набор GCC+библиотеки+хедеры называются тулчейном (toolchain). Тулчейны могут быть разные — есть WinAVR (в него входит компилятор avr-gcc, библиотеки, заголовки, макросы), и есть Atmel Toolchain (который сделан компанией Atmel на основе GNU AVR toolchain, и в него также входит компилятор avr-gcc, библиотеки и заголовки).
Atmel Toolchain устанавливается совместно с Atmel Studio. Т. е. установив Atmel Studio, Вы сразу получаете весь необходимый набор инструментов для разработки. Это довольно удобно, потому что в ранних версиях AVR Studio приходилось загружать и устанавливать отдельно еще и пакет WinAVR.
Atmel Studio позволяет компилировать Ваш проект разными тулчейнами, в зависимости от выбранных текущих настроек. Т. е. можно в одном проекте настроить, к примеру, две конфигурации, в одной из которых проект будет компилироваться тулчейном Atmel, а в другой — тулчейном WinAVR. Можно даже создать несколько конфигураций тулчейнов, например для разных версий WinAVR.
Конфигурирование тулчейнов почему-то назвали несколько странным образом — «Flavour Configuration». Доступно конфигурирование через меню Tools (Сервис) -> Options (Параметры. ) -> Toolchain -> Flavour Configuration. По умолчанию, сразу после установки Atmel Studio доступна только одна конфигурация — Native, которая соответствует тулчайну Atmel (тулчейнов ставится сразу несколько для разных платформ, к примеру, тулчейн для AVR установлен в папку C: Program Files Atmel Atmel Studio 6.0 extensions Atmel AVRGCC 3.3.2.31 AVRToolchain bin ).
Дополнительные тулчейны можно установить по кнопке Add Flavour. Нужно просто указать путь до установленного тулчейна. Например, для WinAVR-20100110 путь будет C : WinAVR-20100110 bin.
Выбрать используемый для проекта тулчейн можно в свойствах проекта, Advanced -> выпадающий список Toolchain Flavour.
Источник: microsin.net
Как написать код для AVR, программирование микроконтроллеров Atmel AVR на Си
Что такое микроконтроллер? Микроконтроллер это по сути микрокомпьютер с процессором, оперативной и постоянной памятью, портами ввода-вывода, во многих микроконтроллерах имеется аналого цифровой преобразователь.
Прежде всего для написания программ под Atmel AVR нужно установить программу Atmel Studio, скачать ее можно с официального сайта Atmel сайта Microchip (Microchip выкупил Atmel), программа полностью бесплатна:
Для того, чтобы проверить написанную программу и постоянно не собирать на настоящих физических компонентах для проверки — понадобится также программа, эмулирующая работу железа, и эта программа — это Proteus, но вот она уже не бесплатна.
(Примечание — иногда результат работы на реальном железе может отличаться от результата эмуляции железа, так что при окончательном, финальном варианте написанной программы, проверка на реальном железе — обязательна).
Atmel Studio установлена.
(если при запуске или установке возникает ошибка «Cannot find one or more components.Please reinstall the application» (Не найден один или несколько компонентов.Пожалуйста, переустановите приложение.)- необходимо удалить программу, переименовать папку C:ProgramDataPackage Cache (не следует ее удалять, так как в случае чего, можно ее снова переименовать в исходное имя, если некоторые приложения после этого перестали работать), тогда программа установится и запустится нормально).
В левом верхнем углу выбираем:
File => New => Project
Выбираем GCC C Executable Project(на изображении под цифрой 1), В низу, в поле Name(2) указываем имя нашего проекта, в поле Location(3) можем выбрать местоположение проекта или оставить путь по умолчанию, нажимаем OK.
Затем выбираем модель нашего микроконтроллера из списка, в нашем случае это ATMEGA8(можно выбрать Attiny13 или другой нужный и имеющийся у вас микроконтроллер):
В окне появится среда разработки написания кода, где уже будет стандартный код на Си и несколько закомментированных строк с указанием авторства и даты:
Под цифрой 1 находится окно написания кода, под цифрой 2 файлы с исходным кодом, библиотеки и все файлы, связанные с исходным кодом, в файле main.c находится текст нашего кода.
Что же делает этот код?
строка #include подключает стандартную библиотеку портов ввода, вывода микроконтроллеров AVR,
ее можно найти по пути(если вы не поменяли путь при установке) «C:Program FilesAtmelStudio7.0toolchainavr8avr8-gnu-toolchainavrincludeavr»
Функция main — стандартная входная функция Си, с который программа и начинает работу.
Внутри функции main находится цикл while, который длится бесконечно.
А в теле цикла ничего нет т.е. программа ничего не делает , просто идет бесконечный цикл, и выхода из функции main не происходит , поэтому там нет ключевого слова return, которое возвращает указанное значение.
Для того, чтобы скомпилировать написанный код, необходимо выбрать вверху Build => Build «Имя_Вашего_Проекта».
Если код без ошибок, то программа скомпилируется и внизу будет написано Build succeeded.
В итоге скомпилированная прошивка будет в формате .HEX и будет лежать по адресу(опять же, если вы не изменили стандартное месторасположение):
C:UsersИмя ПользователяDocumentsAtmel Studio7.0ИмяПроектаИмяПроектаDebugИмяПроекта.hex
Примечание.Если выбрать вариант сборки Release, то прошивка будет лежать в соответствующей папке т.е. не в папке Debug, а в папке Release.
Код , который ничего не делает это не очень интересно, напишем программу, которая мигает 2 раза в секунду светодиодом:
#define F_CPU 1000000UL // 1 MHz Здесь задаем частоту микроконтроллера #include //библиотека вводавывода #include //библиотека задержки int main(void) // начало основой программы { DDRD = 0xff; // установить все порты D(смотрите распиновку мк) как выводы while (1) { // бесконечный цикл PORTD = 0xff; // установить «1»(вкл) на всех линиях порта D _delay_ms(250); // ждем 250 миллисекуд PORTD = 0x00; // установить «0»(выкл) на всех линиях порта D _delay_ms(250); // ждем 250 миллисекунд } //закрывающая скобка бесконечного цикла } //скобка входной функции main
Компилируем код, получаем готовую прошивку.
Прошиваем этой прошивкой микроконтроллер, собираем схему на железе.
Если не знаете как прошивать, узнать можно здесь:
В следующей статье узнаем как проверить написанный код в Proteus т.е. будем эмулировать работу железа.
ОЦЕНИТЕ ДАННУЮ ПУБЛИКАЦИЮ:
Средний рейтинг / 5. Количество оценок:
Мы сожалеем, что эта публикация Вас не устроила.
Напишите, пожалуйста, что Вам конкретно не понравилось, как можно улучшить статью?(оценка будет засчитана только при наличии отзыва)
Источник: lampcore.ru