Перейти к содержанию
    

Настройка прерываний в симуляторе IAR

Каждый раз при входе в симулятор прерывания приходится настраивать заново через Simulator->Interrupts...

При выходе все настройки сбрасываются. Можно ли как-то настроить так, что бы они не сбрасывались?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня не сбрасываются и более того, сохраняются при закрытии и повторном открытии проекта.

Укажите какая версия IAR у вас и какие настройки IDE? Tools->Options->Project

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня не сбрасываются и более того, сохраняются при закрытии и повторном открытии проекта.

Укажите какая версия IAR у вас и какие настройки IDE? Tools->Options->Project

 

IAR AVR 5.11B.

В настройках Tools->Options->Project у меня указано всё сохранять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проще всего сделать файлик *.mac, в котором прописать макросы, выполняемые при запуске симулятора. В него и вписать инициализацию прерываний. Есть пример SetupAdvanced.mac в ..\tutor.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проще всего сделать файлик *.mac, в котором прописать макросы, выполняемые при запуске симулятора. В него и вписать инициализацию прерываний. Есть пример SetupAdvanced.mac в ..\tutor.

 

Хорошо, буду разбираться с указанным примером.

У меня и в предыдущих версиях IAR AVR ничего из прерываний не сохранялось. А в IAR for MSP430, там всё сохраняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста. Подскажите как симулировать установку флага 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++;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...