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

 
 
> Облегчение входа в прерывание., IAR AVR 4.20
west329_
сообщение Jul 14 2008, 16:44
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Можно какимто способом обрезать лишние операции ? Уж больно жалко времени контроллера.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jul 15 2008, 16:31
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Можно какимто способом обрезать лишние операции ?


Я так понимаю, протест вызывает использование регистровой пары Z?

Пробуйте так:
Код
volatile unsigned char tmr_lo;
volatile unsigned char tmr_hi;

#pragma vector=TIMER0_OVF_vect
__interrupt void _myint(void)
{
  unsigned char c;
  TCNT0=0x1A;
  c=tmr_lo;
  c++;
  tmr_lo=c;
  if (!c)
  {
    c=tmr_hi;
    c++;
    tmr_hi=c;
  }
}


и на вкладке управления оптимизацией снять галочку clustering.

Вот результирующий код:
Код
        RSEG CODE:CODE:NOROOT(1)
//   22 __interrupt void _myint(void)
_myint:
//   23 {
        ST      -Y, R17
        ST      -Y, R16
        IN      R17, 0x3F
//   24   unsigned char c;
//   25   TCNT0=0x1A;
        LDI     R16, 26
        OUT     0x32, R16
//   26   c=tmr_lo;
        LDS     R16, tmr_lo
//   27   c++;
        INC     R16
//   28   tmr_lo=c;
        STS     tmr_lo, R16
//   29   if (!c)
        TST     R16
        BRNE    ??_myint_0
//   30   {
//   31     c=tmr_hi;
        LDS     R16, tmr_hi
//   32     c++;
//   33     tmr_hi=c;
        INC     R16
        STS     tmr_hi, R16
//   34   }
//   35 }
??_myint_0:
        OUT     0x3F, R17
        LD      R16, Y+
        LD      R17, Y+
        RETI


Цитата
2) перевести проект на CodeVisionAVR.


Этого делать точно не надо smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post



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

 


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


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