Atmel studio terminal windows

Atmel Studio 6.2 Официальный русский сайт Atmel Studio! Скачайте бесплатно Атмел Студио для Windows!

Скачайте Atmel Studio с официального сайта

Atmel Studio — многофункциональная программа для разработки приложений под микроконтроллеры ARM и AVR.

Преимущества

Стоимость

Бесплатный среда для разработки.

Скорость

Разработка приложения в два клика.

Функционал

Огромный функционал для разработки.

Скриншоты

Видео

На сегодняшний день существуют разнообразные платформы, которые позволяют выполнять разработку и проектирование микроконтроллеров Atmel Studio. Если вы решите скачать себе подобную программу, тогда наверняка можете заметить, что она представляет собою цельную и простую среду, которая предоставляет замечательную возможность выполнять отладку и компоновку разнообразных приложений. В нее будет встроена объемная библиотека для исходного кода Software Framework. В составе этой программы будет находиться более 1600 разнообразных проектов, которые предназначаются для ARM и AVR.

Подобная библиотека считается настоящей находкой практически для любого программиста. Подобная библиотека будет считаться настоящим бонусом для программиста. Если вы будете использовать IDE модель, тогда для программирования вы также можете использовать все разнообразие микроконтроллеров.

После установки Atmel Studio вы сможете заметить, что здесь присутствуют практически все инструменты, которые в дальнейшем будут облегчать жизнь любому программисту. В платформу будут встроены разнообразные решения, а также специальный магазин инструментов разработки. Наиболее популярными решениями считаются Atmel Spaces, а также Atmel Gallery. Для сохранения всех данных вы будете использовать облако, а также для кооперативной разработки.

AVR. Работа с UART

UART — самый популярный интерфейс микроконтроллера. Так сложилось потому, что он может использован для связи с персональным компьютером. В этой статье мы постараемся познакомить вас основными сценариями использования UART .

Подготовка к работе

Arduino-совместимые платы имеют на борту переходник USB-to-COM, и наша EduBoard не исключение. Как вы уже знаете, при подключении, в системе она определяется как COM-порт. То есть для исследования работы нам не понадобится никакого дополнительного оборудования. Только любая Arduino-совместимая плата с микроконтроллером Atmega8/168/328. Мы проверили это только с микроконтроллером Atmega8.
Помимо аппаратного обеспечения и среды для программирования, которую мы разворачивали в другой части цикла. Дополнительно, вам понадобится терминальная программа, которая на стороне ПК будет подключаться к COM-порту, отправлять и принимать байты.
Можно скачать готовые самостоятельные терминальные программы, а можно добавить такую возможность в Atmel Studio. Второй способ нам кажется более логичным, поэтому мы будем использовать именно его в статье.
В запущенной среде выберите пункт меню Tools->Extension Manager… и найдите дополнение Terminal for Atmel Studio (это очень популярное дополнение и, скорее всего, оно будет вам предложено сразу).

После его установки, в пункте меню View появится дополнительный пункт Terminal Window.

Если вы запустите его, то увидите само окно для работы с COM-портом.

В окне довольно много настроек. При первом запуске его размер очень маленький. Раздвиньте его, чтобы видеть окно целиком. Органы управления имеют следующее назначение:

  1. Кнопка для подключения к COM-порту
  2. Выбор номера порта (проверьте к какому порту подключена ваша плата)
  3. Скорость передачи. Поскольку передача асинхронная, необходимо на обоих сторонах одинаково задать скорость передачи данных
  4. Способ отображения принятых данных
  5. Очистка истории приема
  6. Очистка истории передачи
  7. Дополнительные настройки
  8. Поле с полученными данными
  9. Поле с отправленными данными
  10. Поле для ввода данных на отправку
  11. Формат отправки
  12. Кнопка «отправить»

Итак, вся настройка выполнена и можно попробовать отправить что-нибудь в COM-порт из памяти микроконтроллера.

Читайте также:  Ваша лицензия windows поддерживает только один язык интерфейса как поставить английский

Первая программа

Для начала сделаем самое простое — попробуем отправлять в UART данные с микроконтроллера. Заведем переменную i, а затем будем в раз секунду увеличивать ее и отправлять через UART. Все это делает следующий код:

Если все сделано правильно, то после открытия Terminal Window и нажатии кнопки «Connect» вы увидите как раз в секунду в окне приема будут появляться числа:

Terminal Window для первой проаграммы

Если что-то идет не так, убедитесь, что правильно выбраны параметры передачи — номер порта, скорость, формат отображения. Более подробно параметры указаны в меню «Options».
Теперь разберемся с самой программой.
В первую очередь интересует функция инициализации UARTInit(). В ней необходимо выставить следующие обязатльные настройки:

    UBRR. Этот регистр состоит из двух байт — UBRRH и UBRRL. Они отвечают за скорость передачи. Чаще всего, достаточно обратиться к таблицам 60-63 на страницах 153-156 datasheet’а и посмотреть, что нужно записать в этот регистр для корректной настройки скорости. В нашем случае тактовая частота 16МГц, работа происходит без удвоения на скорости 9600 Бод. Следовательно, в UBRR нужно записать число 103. Это число помещается в один байт. В итоге UBRRH = 0, UBRRL = 103.

Выбор скорости передачи

В завершении настройки нужно указать еще один важный момент. Обычно при выставлении настроек в регистре, не присваивают значение всему регистру, а меняют только нужные биты. Из-за того, что мы используем бутлоадер от Arduino (а он, в свою очередь, UART для загрузки), то лучше защитить себя от того, что могло остаться в этих регистрах после бутлоадера и сконфигурировать UART именно присваиванием.
Если вы пишите программу для чистого микроконтроллера и загружаете программу программатором, то тело функции настройки будет выглядеть так:

Теперь разберем функцию UARTSend(uint8_t data).
Строка

…означает, что пока в бите UDRE регистра UCSRA «1» — будет выполняться пустой цикл. Бит UDRE (UART Data Register Empty) следит за состоянием регистра, в котором хранятся данные, принятые из UART. Фактически, программа дожидается того, что буфер на отправку чист (предыдущий байт передан) и можно передавать следующий байт.
Следующим шагом мы помещаем в регистр UDR (UART Data Register) данные. То что оказывается в это регистре — немедленно отправляется в COM-порт. Вот и все, что нужно для простейшей передачи восьмибитного числа.

Прием данных

Самый простой способ принимать байты через UART — делать это при помощи прерывания. Прерывание — очень мощный инструмент микроконтроллера, который мы до сих пор не применяли. Прерывание позволяет остановить выполнение основной программы и обработать какое-либо событие. Посмотрим, как это работает на практике.
В первую очередь необходимо подключить заголовочный файл прерываний:

Далее глобально разрешаем работу прерываний. Для этого можно воспользоваться простой инструкцией, которую обычно ставят в самом начале программы:

Далее необходимо разрешить конкретное прерывание. Вообще их много, но нас интересует прерывание UART. За них отвечает бит RXCIE (Receive Complete Interrupt Enable — прерывание по завершению приема) в регистре UCSRB.

Когда срабатывает прерывание, то вызывается вектор прерывания. Каждое прерывание имеет свое имя. Конкретно вектор прерывания UART на прием называется USART_RXC_vect. Обработчик прерывания выглядит следующим образом:

То есть когда прием через UART будет завершен, вызовется и выполнится этот кусок кода. В нем данные из приемного буфера UDR переносятся в глобальную переменную rx_data и выставляется флаг rx_flag, говорящий о том, что прием завершен.
Теперь добавим все эти доработки в первую программу и получим следующее:

Обратите внимание на объявление переменных. Перед типом переменной rx_flag стоит служебное слово volatile. Это сигнал для компилятора, что эту переменную оптимизировать нельзя. В противном случае, компилятор выкидывает вот этот цикл:

Читайте также:  Програмы windows для ubuntu

Теперь перейдем к функции UARTGet(). Она ждет, пока значение флага не станет равно «1» и затем возвращет состояние переменной rx_data. Она нужна просто для того, чтобы сделать main удобочитаемым.
То есть сама программа доходит до строчки

и останавливает свое выполнение до тех пор, пока не придут данные. Как только МК что-то принимает, он увеличивает это значение на 1 и отправляет обратно. Откройте Terminal Window и убедитесь в этом (чтобы отправить что-то необходимо ввести цифру в нижнюю строку и нажать Enter).

Terninal Window с отправленными данными

Управление периферией

В последнем примере хочется уже начать чем-то управлять, чтобы наши команды с ПК оказывали видимое воздействие на реальный мир.
На плате EduBoard (как и на большинстве Arduino-совместимых плат) есть светодиод, подключенный к 13му выводу. В нашей следующей программе мы будем будем включать его, если пользователь отправил «0» и выключать в любом другом случае.
Доработки предельно простые, но мы приведем весь код целиком:

Итоги

В этой статье мы описали самые простые случаи обмена. Недостатки в том, что на время ожидания команды программа останавливается и трудно наладить передачу блоков данные.
В реальных системах чаще всего организуют приемный буфер, а затем его разбирают. Информацию при этом дополнительно кодируют для детектирования ошибок передачи.
Тем не менее, описанных в статье примеров будет более чем достаточно для организации отладочного вывода или управления домашним роботом.

Atmel Studio

Atmel Studio – интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR.

Программный пакет AVR Studio разрабатывается с 2004 года. Начиная с версии 6.0, программа сменила название на Atmel Studio. Программа позволяет работать как на ассемблере, так и на C/C++. Содержит в себе мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки. Поддерживает компилятор GCC и плагин AVR RTOS (операционной системы реального времени). Пользователи могут выбрать наиболее оптимальные для их проекта способы кодирования. Визуальные инструменты позволяют ускорить написание программы. Благодаря связке программных пакетов Atmel Studio и Proteus от фирмы Labcenter Electronics возможно программирование микроконтроллеров без наличия какой-либо материальной базы. Atmel Studio по праву считается лучшей средой создания приложений для контроллеров AVR.

Последняя версия Atmel Studio поддерживает все существующие на сегодняшний момент 8-битные, 32-битные AVR, SAM3 и SAM4 микроконтроллеры и включает в себя более 1100 проектов с примерами. Также доступны старые версии программы.

Интерфейс полностью англоязычный и официального русификатора нет. Программа не понимает русских символов, поэтому названия работ должны быть написаны с английской транскрипцией.

Atmel Studio работоспособна в операционных системах Windows 9x / ME / NT / 2000 / XP / VISTA / 7.

Распространение программы: Freeware (бесплатная)

AVR Урок 2. Создание проекта в Atmel Studio

Урок 2

Создание проекта в Atmel Studio

Сегодня мы научимся создавать проекты в среде программирования Atmel Studio. Делается это не очень сложно.

Запускаем Atmel Studio.

Если Вы запускаете Atmel Studio в первый раз, у Вас скорее всего появится сначала стартовое окошко, которое можно свободно отключить, сняв галочку создадим новый проект с помощью команды меню File -> New -> Project

У нас откроется диалог, в котором будет 5 вариантов проектов на C/C++, один вид проекта на ассемблере, а также есть вариант создание пустого решения, в которое уже потом добавлять проекты. Мы будем писать именно на языке C. С помощью кнопки «browse» в данном диалоге мы выбираем папку, в которой будем создавать свои проекты, выберем вариант проекта «GCC C Executable Project», дадим проекту имя, например «Test01». Галочка слева от надписи «Create directory for solution» означает, что будет создаваться папка для проекта, то есть данную папку заранее создавать не нужно. Нажмем «OK»

Читайте также:  Windows failed to start insert your windows installation disc

В следующем диалоге выберем наш контроллер Atmega8A, впечатав это в соответствующем окошке. Мы видим здесь справа также несколько интересных вещей, в том числе Datasheet на наш контроллер (ссылка на техническую документацию), который мы отсюда спокойно можем скачать.

Здесь мы также нажимаем «OK»

Проект создан. Мы должны увидеть окно с проектом приблизительно следующего вида

Теперь немного настроим наш проект.

Зайдём в его свойства с помощью меню Project -> Test01 Properties

Затем в открывшемся диалоге перейдём во вкладку Tool и выберем там в качестве отладчика Simulator, а если у кого поддерживатеся программатор в качестве отладчика, то свой программатор. Мой программатор не может выступать в качестве отладчика, так как нет драйвера для Atmel Studio. В свойствах проекта есть огромный ряд настроек (настройки оптимизации, включение операций с плавающей точкой и т.д.), которые мы рассмотрим в более поздних занятиях. А пока нажмём кнопку «сохранить всё» в панели управления в виде нескольких дискет (на картинку можно нажать для увеличения)

После сохранения закроем вкладку с настройками и немного поиграемся с текстом главного файла Test01.c. Прежде чем удалить оттуда ненужный комментарий сверху, мы заодно и поучимся, но а если кто знает, тот повторит, как пишутся комментарии в языке C. Чтобы написать многострочный комментарий, необязательно обозначать значком комментария каждую строчку. Достаточно вначале поставить обычный слеш (черточку, наклоненную вправо) и звездочку, а в конце блока с текстом комментария – наоборот – сначала звездочку, а затем обычный слеш и блок наш в данной среде программирования сразу отметится зелёным цветом, то есть станет комментарием и компилятор при сборке проекта обрабатывать данный текст не будет. Данный вид обозначения комментария ещё может пригодиться для обзначения комментарием не всей сторки, а её части, если мы хотим отметить комментарием часть строки не до её конца. Комментарии удобны в практике программирования тем, что мы указываем, что именно мы хотим добиться кодом, который обозначен комментарием, что, во-первых, не даёт нам забыть, что мы именно хотели сделать кодом, а также служит объяснением тому, кто будет наш код затем читать и изучать. Вот как раз пример комментария в нашем файле проекта

В принципе, данный комментарий мы можем либо удалить, как это сделаю я, либо исправить, введя вместо user, скажем, своё имя или ещё что-то, для того, чтобы обозначить автора.

Теперь другой вид комментария. Если мы хотим написать комментарий в виде одной строки, то целесообразно отметить этот комментарий специальным значком в виде двух обычных слешей, предназначенных именно для обозначения однострочного комментария. Данный значек ставится вначале строки и действует до конца строки. У нас также есть с вами для этого уже пример в коде. Здесь среда нам подсказывает, где именно следует начинать писать свой код

Данный комментарий можно будет также удалить.

Теперь давайте попробуем откомпилировать наш проект (или как ещё говорят в народе «соберём его», так как проект данным действием не только компилируется, но ещё и линкуется). Делается это следующим образом. Либо нажимаем соответствующую кнопку в панели инструментов, либо нажимаем функциональную клавишу «F7». После этого действия, если сборщик проекта не встретит никаких ошибок, то мы получим в нижней части нашей среды программирования определённое сообщение

Также в папке «\Test01\Debug» нашего проекта у нас будет сгенерирован исполняемый файл, или как в народе говорят – прошивка – файл «Test01.hex». Данный файл мы и будем «заливать» в наш контроллер впоследствии. Для этого нам конечно надо будет научиться писать какой-то полезный код. Этим мы займёмся уже на следующем занятии.

Оцените статью