WinAvr в вопросах и ответах
- Сообщения: 28
- Зарегистрирован: Вт мар 15, 2011 17:28:34
Всем здрасте, прошу помощи у всех, есть здесь на сайте заброшенный проект, есть исходник мы не можем разобраться как его скомпилировать тема находится здесь http://radiokot.ru/forum/viewtopic.php? ... 02#p990102 сам проект здесь http://www.radiokot.ru/lab/hardwork/11/ помогите просто проект интересный на форуме есть исходник с исправленный под уже свои нужды, но скомпилировать не можем ни оригинал ни исправленный вариант. Не бросьте в беде, заранее благодарен во всяческой помощи.
- Реклама
не плодите сообщения по одному и тому же вопросу в разных темах! 
битва с дураками проиграна, победители торжествуют. слава победителям!
- Сообщения: 28
- Зарегистрирован: Вт мар 15, 2011 17:28:34
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
WINAVR - программа совместима с программатором ISP AVRISP mkII?
Не умеешь - не берись, но не взявшись не научишься...
вопрос из разряда "совместим ли MS Word с Winamp?" - никакой прямой связи между названными продуктами нет: первый продукт - это целый комплекс программ и утилит для компиляции программ, второй - это программатор. единственная точка пересечения между ними - это HEX-файл прошивки. он-таки стандартный.Arlleex писал(а):WINAVR - программа совместима с программатором ISP AVRISP mkII?
битва с дураками проиграна, победители торжествуют. слава победителям!
- Реклама
Похоже, всё-таки имелась виду AVRStudio. Тогда, да, совместима.Arlleex писал(а):WINAVR - программа совместима с программатором ISP AVRISP mkII?
- Сообщения: 1303
- Зарегистрирован: Вс апр 19, 2009 17:20:22
- Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Подскажите, пожалуйста, какие есть книги по AVRStudio ? Ну или какая-нибудь другая информация чтобы научиться в ней программировать...
Заранее спасибо
Заранее спасибо
Опыт растет прямо пропорционально выведенному из строя оборудованию...
- Сообщения: 3
- Зарегистрирован: Вс окт 30, 2011 23:08:30
Здравствуйте, подскажите пожалуйста как имея только hex и eep файлы(прошивка мк) залить их в мк через среду Programmers Notepad [WinAVR] ? можно ли также настроить фьюзы мк при заливке?
Заранее спасибо, надеюсь сформулировал нормально.
Заранее спасибо, надеюсь сформулировал нормально.
в комплекте с WinAVR имеется программатор avrdude - им и надо прошивать. сделать это можно при помощи командной строки или поискать в сети GUI-оболочки для этого программатора (они есть, но на счет качества и удобства работы не скажу - не пробовал). Notepad тут как бы лишний.SellOut писал(а):Здравствуйте, подскажите пожалуйста как имея только hex и eep файлы(прошивка мк) залить их в мк через среду Programmers Notepad [WinAVR] ? можно ли также настроить фьюзы мк при заливке?
Заранее спасибо, надеюсь сформулировал нормально.
вот это не подойдет?КАШАК писал(а):Подскажите, пожалуйста, какие есть книги по AVRStudio ? Ну или какая-нибудь другая информация чтобы научиться в ней программировать... Заранее спасибо
битва с дураками проиграна, победители торжествуют. слава победителям!
- Сообщения: 104
- Зарегистрирован: Сб фев 24, 2007 15:49:35
Подскажите как прочитать работу такого макроса
#define RT PB4
#define RT_LO RT_PORT&=~(1<<RT)
#define RT_TOGGLE RT_PORT^=(1<<RT)
вначале я понимаю-мы порт в 4 присваиваем имя RT,а вот далее пока не понимаю..
#define RT PB4
#define RT_LO RT_PORT&=~(1<<RT)
#define RT_TOGGLE RT_PORT^=(1<<RT)
вначале я понимаю-мы порт в 4 присваиваем имя RT,а вот далее пока не понимаю..
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
sinobi
там наверняка ещё вы упустили такую строку
#define RT_PORT PORTB
#define RT PB4 - пин 4 порта PORTB
#define RT_PORT PORTB означает RT_PORT = PORTB
#define RT_LO RT_PORT&=~(1<<RT) по вызову RT_LO в программе на ножку 4 порта Б будет выдан ноль
#define RT_TOGGLE RT_PORT^=(1<<RT) по вызову RT_TOGGLE - на той же ножке будет изменяться значение (было 0 - станет 1, был 1 - станет ноль)
там наверняка ещё вы упустили такую строку
#define RT_PORT PORTB
#define RT PB4 - пин 4 порта PORTB
#define RT_PORT PORTB означает RT_PORT = PORTB
#define RT_LO RT_PORT&=~(1<<RT) по вызову RT_LO в программе на ножку 4 порта Б будет выдан ноль
#define RT_TOGGLE RT_PORT^=(1<<RT) по вызову RT_TOGGLE - на той же ножке будет изменяться значение (было 0 - станет 1, был 1 - станет ноль)
- Сообщения: 104
- Зарегистрирован: Сб фев 24, 2007 15:49:35
да была такая строчка.Avarges писал(а):sinobi
там наверняка ещё вы упустили такую строку
#define RT_PORT PORTB
#define RT PB4 - пин 4 порта PORTB
#define RT_PORT PORTB означает RT_PORT = PORTB
#define RT_LO RT_PORT&=~(1<<RT) по вызову RT_LO в программе на ножку 4 порта Б будет выдан ноль
#define RT_TOGGLE RT_PORT^=(1<<RT) по вызову RT_TOGGLE - на той же ножке будет изменяться значение (было 0 - станет 1, был 1 - станет ноль)
по последней строчке-получается по команде идет инверсия порта?
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Да, инверсия PB4
- Сообщения: 9
- Зарегистрирован: Чт ноя 18, 2010 10:25:17
Возможно этот вопрос уже задавался, но я не нашёл. WinAVR умер?
У него обновляемость и так была не особо частая, но вот последняя сборка 2009 года совсем уж не спешит сменяться более новой. Версия gcc 4.3 совсем уж старенькой кажется. C другой стороны довольно неплохо смотрится avr toolchain от Атмела. В его комплекте gcc имеет версию 4.5.1. Но в любом случае недавно был зарелизен gcc версии 4.6.2.
В общем какие альтернативы вам кажутся наиболее перспективными?
Сам то я не то, что бы за новинками постоянно гнался. Обновлял winavr раз в год-два, в основном от нечего делать. Но ведь не зря же выпускают новые версии. Так например я заметил, что с каждой новой версией код оптимизируется всё лучше и лучше, исправляют небольшие оплошности и т.д.
У него обновляемость и так была не особо частая, но вот последняя сборка 2009 года совсем уж не спешит сменяться более новой. Версия gcc 4.3 совсем уж старенькой кажется. C другой стороны довольно неплохо смотрится avr toolchain от Атмела. В его комплекте gcc имеет версию 4.5.1. Но в любом случае недавно был зарелизен gcc версии 4.6.2.
В общем какие альтернативы вам кажутся наиболее перспективными?
Сам то я не то, что бы за новинками постоянно гнался. Обновлял winavr раз в год-два, в основном от нечего делать. Но ведь не зря же выпускают новые версии. Так например я заметил, что с каждой новой версией код оптимизируется всё лучше и лучше, исправляют небольшие оплошности и т.д.
- Сообщения: 4
- Зарегистрирован: Пн апр 25, 2011 15:39:38
Ну, последняя версия WinAVR всё-таки 2010-01-20.
Всё просто координатор проекта WinAVR Eric B. Weddington перешел работать в Atmel и теперь трудится над AVR Toolchain, что по сути новая инкарнация WinAVR.
А вообще обновляться до AVR Toolchain я бы пока не советовал. AVR Toolchain построен на базе GCC 4.5.3, в котором очень много изменений по сравнению с 4.3 из WinAVR и AVR бекэнд видимо в спешке дорабатывали под эти изменеия, из-за чего там имеется некоторое количество регрессий по сравнению с 4.3.
Вобщем WinAVR 2010-01-20 генерирует код лучше чем AVR Toolchain 3.2.3.
AVR Toolchain еще не доделан, чтоб быть лучше чем WinAVR. Подождём...
Всё просто координатор проекта WinAVR Eric B. Weddington перешел работать в Atmel и теперь трудится над AVR Toolchain, что по сути новая инкарнация WinAVR.
А вообще обновляться до AVR Toolchain я бы пока не советовал. AVR Toolchain построен на базе GCC 4.5.3, в котором очень много изменений по сравнению с 4.3 из WinAVR и AVR бекэнд видимо в спешке дорабатывали под эти изменеия, из-за чего там имеется некоторое количество регрессий по сравнению с 4.3.
Вобщем WinAVR 2010-01-20 генерирует код лучше чем AVR Toolchain 3.2.3.
AVR Toolchain еще не доделан, чтоб быть лучше чем WinAVR. Подождём...
Доброго времени суток. Мне нужно организовать задержку длительностью 15 (!) секунд. через функцию _delay_ms() можно сделать чуть больше, чем 6.5с. Как мне поступить? Влепить 3 задержки подряд по 5с? или можно как-то эстетичнее? 
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
for(unt8_t i=15;i;_delay_ms(1000),i--);slavokhire5 писал(а):Доброго времени суток. Мне нужно организовать задержку длительностью 15 (!) секунд. через функцию _delay_ms() можно сделать чуть больше, чем 6.5с. Как мне поступить? Влепить 3 задержки подряд по 5с? или можно как-то эстетичнее?
например.
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
Добрый вечер помогите понять синтаксис.
volatile struct ir_t
{
uint8_t rx_started;
uint32_t code, rx_buffer;
} ir;
ir.code = ir.rx_buffer;
ir.rx_buffer = 0;
Я Вам привёл просто примеры, без како-го либо смысла. Хочю понять что это такое "ir", почему оно пишется отдельно в
volatile struct ir_t, а к переменным добавляется через точку.
volatile struct ir_t
{
uint8_t rx_started;
uint32_t code, rx_buffer;
} ir;
ir.code = ir.rx_buffer;
ir.rx_buffer = 0;
Я Вам привёл просто примеры, без како-го либо смысла. Хочю понять что это такое "ir", почему оно пишется отдельно в
volatile struct ir_t, а к переменным добавляется через точку.
мда... как все запущено.TICLIR писал(а):Добрый вечер помогите понять синтаксис.
volatile struct ir_t
{
uint8_t rx_started;
uint32_t code, rx_buffer;
} ir;
ir.code = ir.rx_buffer;
ir.rx_buffer = 0;
Я Вам привёл просто примеры, без како-го либо смысла. Хочю понять что это такое "ir", почему оно пишется отдельно в
volatile struct ir_t, а к переменным добавляется через точку.
ir - это переменная типа структура ir_t, а через точку пишутся ее поля при доступе к ним.
битва с дураками проиграна, победители торжествуют. слава победителям!
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
Век живи,век учись. Да с такими определкниями я ни когда не сталкевался, като обходился без них. Спасибо
буду изучать.
буду изучать.


