реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> WinAVR, Какой поставить
ShuraM
сообщение Mar 21 2007, 23:11
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



Посоветуйте плз. какую версию стоит поставить?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 21 2007, 23:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



WinAVR-20060421


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Carmack
сообщение Mar 22 2007, 09:36
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 28-11-06
Пользователь №: 22 841



А на вышеуказанную версию WinAVR
советую поставить AVRlib,
в которой есть куча замечательных библиотек
http://hubbard.engr.scu.edu/avr/avrlib/avrlib_setup.exe
Go to the top of the page
 
+Quote Post
aesok
сообщение Mar 22 2007, 14:45
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(beer_warrior @ Mar 21 2007, 23:51) *
WinAVR-20060421

Я бы не был так категоричен..

Если вы используете 256 меги то WinAVR-2007...
Если новые тиньки то версию от klen -а, она может использовать для них инструкцию MOVW

Анатолий.
Go to the top of the page
 
+Quote Post
ShuraM
сообщение Mar 22 2007, 23:10
Сообщение #5





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



Спасибо, пошёл скачивать.

Сообщение отредактировал ShuraM - Mar 22 2007, 23:11
Go to the top of the page
 
+Quote Post
ShuraM
сообщение Mar 23 2007, 00:41
Сообщение #6





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



Скачал, поставил, WinAVR-20060421. Но что-то не сложилось . Взял пример из книги, при компиляции выдаёт ошибку. Как победить?

Код
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>



unsigned char OverflowC;
unsigned int EdgeR, EdgeF;
unsigned long PulseClocks;

INTERRUPT(SIG_OVERFLOW1)
{
  OverflowC++;
}

INTERRUPT(SIG_INPUT_CAPTURE1 )
{
  if ((PIND & 0x40) != 0)
  {
    EdgeR = ICR1;
    TCCR1B = TCCR1B & 0xBF;
    OverflowC = 0;
  }
  else
  {
    EdgeF = ICR1;
    TCCR1B = TCCR1B | 0x40;
    PulseClocks = (unsigned long)EdgeF -
                  (unsigned long)EdgeR +
                  (unsigned long)OverflowC * 0x10000;
    PORTC = PulseClocks / 500;
  }
}

int main (void)
{
  DDRC = 0xFF;
  TCCR1B = 0xC2;
  TIMSK = 0x24;
  sei();
  while(1);
}

Цитата
Compiling: PulsWdth.c
avr-gcc -c -mmcu=at90s8515 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=PulsWdth.lst -std=gnu99 -Wp,-M,-MP,-MT,PulsWdth.o,-MF,.dep/PulsWdth.o.d PulsWdth.c -o PulsWdth.o
PulsWdth.c:13: warning: return type defaults to `int'
PulsWdth.c:13: warning: function declaration isn't a prototype
PulsWdth.c: In function `INTERRUPT':
PulsWdth.c:13: warning: type of "__vector_6" defaults to "int"
PulsWdth.c: At top level:
PulsWdth.c:18: warning: return type defaults to `int'
PulsWdth.c:18: warning: function declaration isn't a prototype
PulsWdth.c:18: error: redefinition of 'INTERRUPT'
PulsWdth.c:13: error: previous definition of 'INTERRUPT' was here
PulsWdth.c: In function `INTERRUPT':
PulsWdth.c:18: warning: type of "__vector_3" defaults to "int"
make.exe: *** [PulsWdth.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:01


Сообщение отредактировал ShuraM - Mar 23 2007, 00:47
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 23 2007, 01:54
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(ShuraM @ Mar 23 2007, 00:41) *
Скачал, поставил, WinAVR-20060421. Но что-то не сложилось . Взял пример из книги, при компиляции выдаёт ошибку. Как победить?

Код
INTERRUPT(SIG_OVERFLOW1)

INTERRUPT(SIG_INPUT_CAPTURE1 )

находим на диске файл avr-libc-user-manual-1.4.4.pdf и внимательно его изучаем
там есть почти все

Вместо INTERRUPT пишем ISR
Вместо SIG_OVERFLOW1 пишем TIM1_OVF_vect
Вместо SIG_INPUT_CAPTURE1 пишем TIMER1_CAPT_vect

то есть
ISR(TIM1_OVF_vect)
и
ISR(TIMER1_CAPT_vect)

Ваша книжка просто слегка устарела sad.gif

P.S. странно что в книжке стоит INTERRUPT вместо SIGNAL
наверное это была такая шютка автора smile.gif
Go to the top of the page
 
+Quote Post
ShuraM
сообщение Mar 23 2007, 22:18
Сообщение #8





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



singlskv, OK. Спасибо!
Книга единственная которую я нашёл про "С" для микроконтроллеров.
Шпак Ю.А. "Программирование на языке С для AVR и PIC микроконтроллеров"

Сообщение отредактировал ShuraM - Mar 23 2007, 22:21
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 24 2007, 10:37
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Книга единственная которую я нашёл про "С" для микроконтроллеров.


Самой книжки не видел, но важнее ИМХО понимание С(++)
А вот конкретные вопросы реализации, лучше смотреть в оригинальной доке. Даже между соседними версиями есть весьма серьезные расхождения. А переводчик и издательство точности не добавляют.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
ShuraM
сообщение Mar 24 2007, 12:31
Сообщение #10





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



Наверно Вы правы , надо учить. А книга лежала здесь.

http://lord-n.narod.ru/download/books/wall....2006.part2.rar
http://lord-n.narod.ru/download/books/wall....2006.part1.rar
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 25 2007, 03:32
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(beer_warrior @ Mar 21 2007, 22:51) *
WinAVR-20060421

2007-й оптимизирует эффективнее.
~16k кода скомпилинного 2006421, превратилось в ~14.5k на 20070122.
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Mar 25 2007, 09:23
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Только что бодался с 20070122 и студией 4.12 SP4(без неё не пробовал). Без патча от AtmanAVR сразу ошибку выдавал.
Патч http://www.atmanecl.net/download/avrgcc411.zip
Подробности здесь
http://myrobot.ru/articles/p_winavr20070122.php
Пишут, что трабла в 98-й винде, или с большими мегами, но у меня XP SP1 и проект для м16.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
ShuraM
сообщение Mar 25 2007, 21:44
Сообщение #13





Группа: Новичок
Сообщений: 14
Регистрация: 14-11-06
Пользователь №: 22 299



Вот скажи мне embedder как имитировать прерывание в AVR studio Ver 4.13.528?
Откомпилировал и запустил проект в студии , в пошаговом режиме, дошёл до функции while(1) (исходник в моём посте выше) . В окне I/O View пробовал изменять состояние порта PORTD и PIND, но прерывания не происходит. Как быть?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 25 2007, 23:46
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
2007-й оптимизирует эффективнее. ~16k кода скомпилинного 2006421, превратилось в ~14.5k на 20070122.

Слишком много старого кода компилируется с ошибками.
Примеры есть и здесь и на аврфриксе. Так-что ИМХО лучше повременить. Тем более, что новая версия не за горами.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 26 2007, 02:51
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(sensor_ua @ Mar 25 2007, 08:23) *
Только что бодался с 20070122 и студией 4.12 SP4(без неё не пробовал). Без патча от AtmanAVR сразу ошибку выдавал.

С 4.13-й студией работает без патчей.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016