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

 
 
> 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
Ответов
DeXteR
сообщение Mar 14 2007, 19:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(ivstech @ Mar 14 2007, 13:42) *
У меня о моделях ATMEGA в протеусе осталось самое плохое впечатление.
Началось с того, что он не отрабатывает на меге-8 rcall далее 4К, пришлось менять на call....
SPI не работает.... и т.д. и т.п.
На пики пока не собираюсь переходить smile.gif


Говоря что чтото неработает - пожалуста укажите версию протеуса и ее ппроисхождение
(Про или демо с кусками от про)

Про rcall вам уже написали выше =)

ЭсПиАй отлично работает в режиме мастера - сам проверял на М8 в протеусе 6.9.5
Еще важно чем вы кормите свою мегу (в каком формате модель принимает программу)
Кофф файлом или елф или уброф

Пока протеус все равно остается лучшим схемным эмулятором (хотя других мало)
+ программа динамично развивается
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
- - nvhleb   Прикольно ) Действительно, интересная фича... Хоть...   Jan 3 2007, 17:03
|- - 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


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

 


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


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