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

 
 
> Есть код для CodeVision. Хочу его адаптировать под WinAVR
-=Женек=-
сообщение Sep 18 2006, 09:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Вот простенькая программка, работающая в CodeVision:

Код
unsigned char h=0,m=0,sec=0;

void timer_init(void)
{
// timer
TCNT1H=TCNT1L=0;
TCCR1A=0;
TCCR1B=12; // cl/256  1000000/256=15625
// 15625/5=3125
OCR1A=3125;
TIMSK=16;
asm("sei");
}    

char get_time()
{
   sec++;  

    if(sec==60)  {sec=0;m++;}
    if(m==60)  {m=0;h++;}
    if(h==23)  {h=0;}
}

interrupt[TIM1_COMPA] comp(void) {get_time();}  // на эту строку ругается компилятор.


Посмотрел я в хидеры - в CodeVision TIM1_COMPA равняется 8. В WinAVR восьмерке соответствует SIG_OUTPUT_COMPARE1B. По моему что-то не то...

В общем программка должна каждую секунду что-нибудь делать а точнее, запускать get_time().

Помогите, плз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Женек=-
сообщение Sep 18 2006, 15:14
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



У меня WinAVR-20050214

в interrupt.h нет не SIGNAL() не ISR()
Но компилятор не ругается на ISR (TIMER1_COMPA_vect)

через поиск попробовал найти файлы содержащие строку "ISR" - не найдено

в очередной раз задаюсь вопросом - почему в CodeVision все работает как часы, а в WinAVR, который хвалят как очень
рациональную программу - вечно какие-то проблемы...
Перейти на WinAVR я был вынужден, так как библиотека для моего LCD есть только для WinAVR
Go to the top of the page
 
+Quote Post
aesok
сообщение Sep 18 2006, 15:32
Сообщение #3


Знающий
****

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



Цитата(-=Женек=- @ Sep 18 2006, 19:14) *
в очередной раз задаюсь вопросом - почему в CodeVision все работает как часы, а в WinAVR, который хвалят как очень
рациональную программу - вечно какие-то проблемы...


В WinAVR конечно-же есть проблемы, но в данном случае претензии к нему не уместны. Кто Вам мешает открыть файл X:\WinAVR\doc\avr-libc\avr-libc-user-manual.pdf и посмотреть как нужно определять прерывания.

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

Анатолий.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=Женек=-   Есть код для CodeVision. Хочу его адаптировать под WinAVR   Sep 18 2006, 09:44
- - _Bill   Цитата(-=Женек=- @ Sep 18 2006, 12...   Sep 18 2006, 10:33
- - -=Женек=-   мне бы примерчик прерывания по таймеру каждую секу...   Sep 18 2006, 11:14
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 15...   Sep 18 2006, 11:19
|- - aesok   Цитата(-=Женек=- @ Sep 18 2006, 15...   Sep 18 2006, 11:25
- - -=Женек=-   В Вашем коде таймер не срабатывает. Кстати при ко...   Sep 18 2006, 11:35
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 15...   Sep 18 2006, 11:51
|- - aesok   Цитата(-=Женек=- @ Sep 18 2006, 15...   Sep 18 2006, 14:42
- - -=Женек=-   Вот ваша программа - я добавил туда пикалку (функц...   Sep 18 2006, 12:14
|- - singlskv   Смотрите коментарии Код#include <inttypes.h...   Sep 18 2006, 12:34
- - -=Женек=-   Хочу вам сказать, что с _delay_ms у меня явно какф...   Sep 18 2006, 12:41
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 16...   Sep 18 2006, 12:50
- - -=Женек=-   ЦитатаСудя по всему у Вас постоянно происходит рес...   Sep 18 2006, 12:55
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 16...   Sep 18 2006, 13:04
- - -=Женек=-   Я привел вам код. Неужели из него не ясно в каком...   Sep 18 2006, 13:06
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 17...   Sep 18 2006, 13:20
- - SpiritDance   delay_ms() у Вас скорее всего съел оптимизатор. w...   Sep 18 2006, 13:16
- - -=Женек=-   ПРочел. биты 0 и 1 равны единице. А вот мои фьюзы...   Sep 18 2006, 13:27
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 17...   Sep 18 2006, 13:41
- - -=Женек=-   к разъему для программирования. У меня Altera byte...   Sep 18 2006, 14:17
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 18...   Sep 18 2006, 15:55
|- - aesok   Цитата(-=Женек=- @ Sep 18 2006, 19...   Sep 18 2006, 15:18
|- - viael   Цитата(-=Женек=- @ Sep 18 2006, 19...   Sep 18 2006, 16:54
- - -=Женек=-   УУУААААУУУУУУУ!!!! Заработало...   Sep 18 2006, 16:39
|- - singlskv   ЦитатаУ меня WinAVR-20050214 в interrupt.h нет не...   Sep 18 2006, 17:20
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 20...   Sep 18 2006, 19:11
- - -=Женек=-   ...   Sep 18 2006, 16:52
- - -=Женек=-   Так... выплыла проблемка.... С заданием времени. Д...   Sep 18 2006, 17:08
- - -=Женек=-   А функция _delay_ms() из delay.h как должна испльз...   Sep 18 2006, 17:25
|- - singlskv   Цитата(-=Женек=- @ Sep 18 2006, 21...   Sep 18 2006, 17:59
|- - aesok   Цитата(-=Женек=- @ Sep 18 2006, 21...   Sep 18 2006, 18:35
- - Shurmas   ИМХО оптимальный вариант из проги востановить алго...   Sep 18 2006, 18:20
- - -=Женек=-   Я уже сделал, как мне советовали. КодTCNT1H=TCNT1...   Sep 18 2006, 19:33


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:26
Рейтинг@Mail.ru


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