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

 
 
> ATmega8: симуляция прерываний в ISIS (Proteus), Не работает симуляция прерывания INT0
nvhleb
сообщение Jan 3 2007, 10:43
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 31-07-06
Пользователь №: 19 211



Может кто-нибудь сталкивался: есть тестовая программка написанная на C (IAR) для ATmega8, которая включает прерывание INT0, генерирует его программно и обрабатывает. В AVR Studio симуляция проходит успешно: ручное изменения значения PIND PD2 приводит к прерыванию, также нормально работает программная генерация прерывания.
При симуляции в Proteus ни один из вариантов не работает (даже не становится на бряке в обработчике прерывания). Все настройки контроллера установлены по дефолту, копание в них ни к чему не привело. :-( В чем может быть проблема?

Исходный код:

#include <ioavr.h>
#include <inavr.h>

#include <avr_macros.h>


int main()
{
int a;

CLEARBIT(DDRD, PD2); // INT0 as input
MCUCR = 0x01; // INT0 at any change of signal level
SETBIT(GICR, INT0); // INT0 enabled
SETBIT(SREG, 7); // interrupts are enabled

__enable_interrupt();

SETBIT(DDRD, PD7); // PD7 as output
CLEARBIT(PORTD, PD7);
if (!TESTBIT(PORTD, PD7))
SETBIT(PORTD, PD7);

while(true) {
a++;
if (a == 0) {
SETBIT(DDRD, PD2); // PD2 (INT0) as output
SETBIT(PORTD, PD2);
CLEARBIT(PORTD, PD2);
CLEARBIT(DDRD, PD2); // PD2 (INT0) as input
}
}

return 0;
}

#pragma vector = INT0_vect
__interrupt void Int0(void)
{
CLEARBIT(GIFR, INTF0);
PORTD ^= (0x01 << PD7);
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nvhleb
сообщение Jan 3 2007, 17:03
Сообщение #2





Группа: Новичок
Сообщений: 10
Регистрация: 31-07-06
Пользователь №: 19 211



Прикольно smile.gif) Действительно, интересная фича... Хоть бы в хелпе описали sad.gif( Нет ли где-нибудь ветки про такие ограничения ISIS'а? Был бы очень признателен. :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nvhleb   ATmega8: симуляция прерываний в ISIS (Proteus)   Jan 3 2007, 10:43
- - nvhleb   Совсем забыл, версия Proteus 6.9 SP5 от kazus.ru.   Jan 3 2007, 13:32
- - nvhleb   Есои не трудно, киньте pls. avr.dll от proteus 6.7...   Jan 3 2007, 14:29
- - bodja74   В протеусе режим at any change of signal level (пр...   Jan 3 2007, 16:12
|- - bodja74   Цитата(nvhleb @ Jan 3 2007, 17:03) Прикол...   Jan 3 2007, 17:36
- - nvhleb   Читал, но там описано очень мало багов/ограничений...   Jan 3 2007, 18:10
- - bodja74   Протеус начинал с пиков,и кто с ними работает его ...   Jan 3 2007, 18:46
- - nvhleb   bodja74, спасибо огромное за консультацию! Аб...   Jan 3 2007, 21:42
- - AndryG   Продолжая список глюков AVR в Proteus ... ... на...   Mar 5 2007, 11:56
|- - #alex_   Цитата(AndryG @ Mar 5 2007, 13:56) Продол...   Mar 6 2007, 21:02
- - DeXteR   Цитата(bodja74 @ Jan 3 2007, 19:46) Проте...   Mar 14 2007, 12:15
- - ivstech   У меня о моделях ATMEGA в протеусе осталось самое ...   Mar 14 2007, 12:42
|- - bodja74   Цитата(ivstech @ Mar 14 2007, 12:42) У ме...   Mar 14 2007, 16:18
|- - =GM=   Цитата(bodja74 @ Mar 14 2007, 13:18) кома...   Mar 14 2007, 20:01
- - DeXteR   Цитата(ivstech @ Mar 14 2007, 13:42) У ме...   Mar 14 2007, 19:56


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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 07:14
Рейтинг@Mail.ru


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