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

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


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



У меня о моделях ATMEGA в протеусе осталось самое плохое впечатление.
Началось с того, что он не отрабатывает на меге-8 rcall далее 4К, пришлось менять на call....
SPI не работает.... и т.д. и т.п.
На пики пока не собираюсь переходить smile.gif
Go to the top of the page
 
+Quote Post
bodja74
сообщение Mar 14 2007, 16:18
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



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


команды rcall и rjmp по природе своей не дают перехода более 4кбайт или 2кслов smile.gif

+Пополню список
в меге16 нет прерывния INT2
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 14 2007, 20:01
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(bodja74 @ Mar 14 2007, 13:18) *
команды rcall и rjmp по природе своей не дают перехода более 4кбайт или 2кслов smile.gif

Поправлю малёк. В AVRstudio есть режим "wrap relative jump", который позволяет МК с не более чем 8Кбайтами (4Клова) флеши на борту осуществлять переходы на 4Клова, т.е. одного джампа хватает на прыжок через всю память из любого места.

Фича спорная, с моей точки зрения даже немного вредная, привыкнешь так, потом переходишь на 64К и облом, ставь длинные джампы и коллы, но она есть, ничего не попишешь.


--------------------
Делай сразу хорошо, плохо само получится
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
- - DeXteR   Цитата(ivstech @ Mar 14 2007, 13:42) У ме...   Mar 14 2007, 19:56


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

 


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


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