Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 10.03.2010, 21:38  
Vetal-soft
Временная регистрация
 
Регистрация: 04.08.2006
Сообщений: 67
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 11 сообщении(ях)
Vetal-soft на пути к лучшему
Подмигивание На WinAVR + AVR Studio c CVAVR

Установка софта:
Скачиваем WinAVR здесь
http://sourceforge.net/projects/winavr/files/
Скачиваем AVR Studio здесь
http://www.atmel.com/dyn/products/to...p?tool_id=2725

Сначала рекомендуется установить WinAVR, а потом AVR Studio.

Первая программа:
Для начала, банально, мигнем светодиодиком.

Код:
#define F_CPU 1000000UL    /* Тактовая частота в Гц                                 */
#include ‹avr/io.h›        /* Опребеляет имена для портов ввода-ывода               */
#include ‹util/delay.h›    /* Дает возможность формирования задержки                */

int main (void) {          /* Начало выполнения программы, главная функция          */
    DDRA |= (1 ‹‹ 0);      /* Устанавливаем порт PORTA.1 как выход                  */
    for (;;)               /* Бсконечный цикл                                       */
    {
        PORTA ^= (1 ‹‹ 0); /* Инвертируем состояние вывода                          */
        _delay_ms(1000);   /* Задержка в 1000 миллисекунд                           */
        _delay_us(10);     /* и то же, только в микросекундах (для примера)         */
    }
return 0;                  /* Выход из программы, в данном случае останов который   */
                           /*  никогда не произойдет т.к. выше бесконечный цикл     */
} //end main
Визардов встроенных нет, надеюсь что скоро о них вы забудите, не как о страшном сне, а просто забудите т.к. они вам будут не нужны.

ЗЫ ... продолжение следует. Далее: как настроить USART/UART и что такое FIFO, как вывести "Hello World!" на терминал.
Реклама:
Vetal-soft вне форума  
Непрочитано 10.03.2010, 23:30  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

1) Студию можно без регистрации скачать на Atmel.ru

2) WinAVR скачать там - sourceforge.net/projects/winavr/files/
есть и "потэбл" версия.

Документация ПОДРОБНАЯ по WinAVR лежит в папке типа
C:\WinAVR\doc\avr-libc

После инсталяции WinAVR, и главное несколько примеров в короых показаны основные конструкции Си и программирование в WinAVR.

Примеры в папаке типа - C:\WinAVR\doc\avr-libc\examples

3) Свободная "free" - RTOS OSA под 8-битные AVR (WinAVR и IAR) досупна там:
wiki.pic24.ru/doku.php/osa/ref/download/intro
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru

Последний раз редактировалось avr123-nm-ru; 11.03.2010 в 09:42.
avr123-nm-ru вне форума  
Непрочитано 10.03.2010, 23:42  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

ШАГ 2

Запустите AVR Studio. Появится МАСТЕР ВИЗАД настройки проекта, если он не появился то запустите его через меню - Прожект - Прожект Визад.

Для создания нового проекта кликните кнопку в мастере - "Нью прожект" и выбирайте "AVR GCC" - возможность использовать этот инструмент вам дала установка WinAVR.

Теперь укажите папку в которой разместить ваш проект, его название и название главного файла исходного кода вашей программы.

После заполнения полей нажмите "некст" - в следующем диалоге вы можеет выбрать платформу для отладки и нужную вам модель AVR. Например симулятор студии или отладку в железе или отладка в PROTEUS ( если он у вас уже установлен ).

После выбора AVR и средства отладки можно нажать "финиш" - мастер закроется и у вы увидите рабочее пространство AVR студии в котором будет открыт файл вашего исходника - пока пустой.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru

Последний раз редактировалось avr123-nm-ru; 10.03.2010 в 23:56.
avr123-nm-ru вне форума  
Непрочитано 11.03.2010, 00:05  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

ШАГ 3

Теперь можно набрать исходный текст вашей программы или скопировать тот что предложен в первом посте этого топика.

Теперь все готово к компиляции и симуляции программы.

Нажимаем в меню "Билд" -› "Билд энд ран" - если программа набрана без ошибок то она скомпилируется и запустится та отладочная платформа которую вы выбрали в ШАГ 2.

Я выбрал симулятор AVR Студии и дешовый ATmega16 за 80 рублей.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 11.03.2010, 00:31  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

ШАГ 2 - альтернативный вариант -

Модификация готвого проекта вместо создания с нуля.

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

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

Например вот такая связка - WinAVR - AVR Studio - PROTEUS

Очень мощная свзяка инструментов для AVR !

Распакуйте приложеный к этому посту архив в папку C:\WinAVR_PROTEUS

Двойным кликом запустите файл проекта AVR studio - AVR241.aps

Запустится AVR Studio в рабочем пространстве которой будет фрагмент интерфеса PROTEUS со схемой отлаживаемого устройства.

В данном примере это LCD на 2 семисегментные цифры и микроконтроллер ATmega128.

Шелкните на окне LCD_main.c и затем найдите строку кода

DDRD = 0xFF;

Щелкните на ней левой кн. мыши и затем правой - в меню выберите "Тогл брейкпоинт" - установите точку останова программы.

Запустите отладку нажав зеленый треугольничек "Старт дебагин" в панели инструментов на верху и после устаканивания студии щелкните пиктограмку "лист бумаги со стрелкой вниз" - это Run ( F5 ) значит "бежать по программе" выполнять ее.

Программа запустится и остановится на точке останова.

Вы можеет развернуть в окне "I/O View" группу PORTE и увидите обозначеное красным цветом значение 0xFF в регистре направления работы порта E - красным цветом в Студии обоначается только что изменившееся значение - т.е. только что у нас была выполнена строка программы над той на которой мы поставили точку останова.

Подробнее о регистрах, о портах AVR и язык программирования Си для микросонтроллеров вы можете прочитать в кратком учебном курсе по AVR для начинающих с нуля -
proavr.narod.ru/02.htm - http://proavr.narod.ru/02.htm

Снова нажмите "Run" - программа продолжит работать, а на LCD появиятся символы: А b


===


Самостоятельно - посмотрите текст программы, возможно вы сможете изменить выводимые символы. Если получится придумайте сами что еще можно поменять в этой программе.


===

архив: proavr.narod.ru/WinAVR_PROTEUS.rar
Вложения:
Тип файла: rar WinAVR_PROTEUS.rar (132.6 Кб, 768 просмотров)
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru

Последний раз редактировалось avr123-nm-ru; 11.03.2010 в 09:39.
avr123-nm-ru вне форума  
Непрочитано 11.03.2010, 07:00  
Vetal-soft
Временная регистрация
 
Регистрация: 04.08.2006
Сообщений: 67
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 11 сообщении(ях)
Vetal-soft на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

Разберем по порядку:
Код:
PORTA ^= (1 ‹‹ 0);
PORTA - порт ввода\вывода
^ - исключающее ИЛИ
= - оператор присвоения
1 ‹‹ x - сдвиг бита 1 в лево на x

если не понятно с записью "^=" , то это тоже самое что:
Код:
PORTA =  PORTA ^ (1 ‹‹ 0);

Последний раз редактировалось Vetal-soft; 11.03.2010 в 07:11.
Vetal-soft вне форума  
Непрочитано 11.03.2010, 10:43  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

Не надо делать так:
Код:
#define F_CPU 1000000UL    /* Тактовая частота в Гц
Частота задается в свойствах проекта, там же где и тип кристалла.
Без UL, просто цифра в герцах.
ЗЫ. Не превращайте ветку в филиал всем известного курса. А то уже началось - разноцветные шрифты, шаги и т.п.
kison вне форума  
Непрочитано 11.03.2010, 14:11  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

В WINAVR удобно использовать _BV().
DDRA |= (1 ‹‹ 0); /* Устанавливаем порт PORTA.0 как выход
то же самое
DDRA |= _BV(0); /* Устанавливаем порт PORTA.0 как выход
или
WDTCSR |= (_BV(WDCE)) | (_BV(WDE)); /* Устанавливаем 1 в указанных битах
MCUSR &= ~(_BV(WDRF)); /* Устанавливаем 0 в указанном бите
Пишут что так работает быстрее.

Последний раз редактировалось andries5; 11.03.2010 в 14:19.
andries5 вне форума  
Непрочитано 11.03.2010, 14:42  
Vetal-soft
Временная регистрация
 
Регистрация: 04.08.2006
Сообщений: 67
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 11 сообщении(ях)
Vetal-soft на пути к лучшему
По умолчанию Re: на WinAVR + AVR Studio c CVAVR

Работает одинаково т.к.
Код:
#define _BV(bit) (1 ‹‹ (bit))
и при оптимизации код
Код:
PORTA |= _BV(5);
в ассемблере будет таким
Код:
sbi PORTA, 5
Vetal-soft вне форума  
Непрочитано 11.03.2010, 19:21  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: На WinAVR + AVR Studio c CVAVR

Надо не верить, а книжки по С читать. Из них можно узнать как работает препроцессор в языке С. И что такое #define
Окажется что после работы препроцессора конструкция
Код:
#define _BV(bit) (1 ‹‹ (bit))
PORTA |= _BV(5);
Станет
Код:
#define _BV(bit) (1 ‹‹ (bit))
PORTA |= (1‹‹(5));
И только потом в дело вступит компилятор. Так что записи на самом деле равнозначны. Я пользуюсь 1‹‹bit, это ИМХО удобней. Потому что при инициализации переферии наприме пишу
TCCR1A = (1‹‹CS12)|(1‹‹CS11)|(0‹‹CS10);
Т.е. нулевые значения тоже присутствуют, хотя и не влияют на результат операции. Но когда нужно очень легко поменять состояние бит в регистре.
Не претендую на истину в последней инстанции. Применяйте то, что покажется более удобным.
kison вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подниму тему WinAVR vs IAR oleg110592 Микроконтроллеры, АЦП, память и т.д 5 24.10.2015 14:06
Си-шный компилятор в AVR Studio меняет последовательность команд svv11 Микроконтроллеры, АЦП, память и т.д 29 21.03.2010 05:47
прерывания usart в avr studio 4.13 zubr_ Микроконтроллеры, АЦП, память и т.д 6 14.10.2009 18:33
AVR studio и GCC Nifelheim Микроконтроллеры, АЦП, память и т.д 12 26.09.2009 23:33


Часовой пояс GMT +4, время: 11:31.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot