Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Настройка прерываний в симуляторе IAR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
SZ0
Каждый раз при входе в симулятор прерывания приходится настраивать заново через Simulator->Interrupts...
При выходе все настройки сбрасываются. Можно ли как-то настроить так, что бы они не сбрасывались?
rezident
У меня не сбрасываются и более того, сохраняются при закрытии и повторном открытии проекта.
Укажите какая версия IAR у вас и какие настройки IDE? Tools->Options->Project
SZ0
Цитата(rezident @ Jan 23 2009, 03:38) *
У меня не сбрасываются и более того, сохраняются при закрытии и повторном открытии проекта.
Укажите какая версия IAR у вас и какие настройки IDE? Tools->Options->Project


IAR AVR 5.11B.
В настройках Tools->Options->Project у меня указано всё сохранять.
Vitaly
Проще всего сделать файлик *.mac, в котором прописать макросы, выполняемые при запуске симулятора. В него и вписать инициализацию прерываний. Есть пример SetupAdvanced.mac в ..\tutor.
SZ0
Цитата(Vitaly @ Jan 23 2009, 12:57) *
Проще всего сделать файлик *.mac, в котором прописать макросы, выполняемые при запуске симулятора. В него и вписать инициализацию прерываний. Есть пример SetupAdvanced.mac в ..\tutor.


Хорошо, буду разбираться с указанным примером.
У меня и в предыдущих версиях IAR AVR ничего из прерываний не сохранялось. А в IAR for MSP430, там всё сохраняется.
dowhile
Помогите пожалуйста. Подскажите как симулировать установку флага ICF1
(стр 137 даташита атмега48) в IAR C-SPY ? Этот флаг не ставится сам в AVRstudio VMLAB PROTEUS
Соответственно прерывание не срабатывает. т.е. как написать макрос установки флага при насчете Таймером1
числа 255 или как написать макрос который просто будет вызывать
прерывание (кто только будет сохранять то что нужно сохранить ???)
Лучше все же флаг взводить если СПАЙ прерывание симулирует при этом.
===============
Смотрел пример макросов прерываний в папке C:\Program Files\IAR\AVR5.20.2\avr\tutor
SetupAdvanced.mac (прицеплен http://www.sharemania.ru/0165742)
К сожалению пока не понял как модифицировать его под мой случай.

Если кто может его "подрихтовать" под мою задачу помогите пожалуйста.
===============
Спсибо !

Проекты IAR и AVRstudio в архиве - http://www.sharemania.ru/0278723

Исходник вот:

Код
#include <ioavr.h>
#include <inavr.h>

volatile unsigned char int_ctr, ctr;

void main(void)
{

  //Set timer 1 in "Phase correct mode".  
  TCCR1A = (1 << WGM11);

  //Set top value of Timer/counter1.
  ICR1 = 0xff;  

  TCCR1B = (1 << WGM13) | (0 << CS11) | (1 << CS10);

              // Enable Timer1 capture event interrupt.
  TIMSK1 |= (1 << ICIE1);

              //Enable interrupts globally.
  __enable_interrupt();
  
  for(;;)
  {
        ctr++;
  }
}


/*        Timer1 Capture Evente interrupt service routine.

This interrupt service routine is run everytime the up-down
counting timer0  reaches TOP (0xff).  */

#pragma vector=TIMER1_CAPT_vect
__interrupt void Timer1CaptureISR(void)
{
    int_ctr++;
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.