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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> 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
nvhleb
сообщение Jan 3 2007, 13:32
Сообщение #2





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



Совсем забыл, версия Proteus 6.9 SP5 от kazus.ru.
Go to the top of the page
 
+Quote Post
nvhleb
сообщение Jan 3 2007, 14:29
Сообщение #3





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



Есои не трудно, киньте pls. avr.dll от proteus 6.7 сюда или мне на мыло (nvhleb'ГАВ-ГАВ'km.ru).
Go to the top of the page
 
+Quote Post
bodja74
сообщение Jan 3 2007, 16:12
Сообщение #4


Знающий
****

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



В протеусе режим at any change of signal level (прерывание при изменении логического уровня) не работает.
Go to the top of the page
 
+Quote Post
nvhleb
сообщение Jan 3 2007, 17:03
Сообщение #5





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



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


Знающий
****

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



Цитата(nvhleb @ Jan 3 2007, 17:03) *
Прикольно smile.gif) Действительно, интересная фича... Хоть бы в хелпе описали sad.gif( Нет ли где-нибудь ветки про такие ограничения ISIS'а? Был бы очень признателен. :-)


C:/Proteus/HELP/AVR.hlp (model limitations) ,может и не все ,а может баги из за пропатченой версии.
Go to the top of the page
 
+Quote Post
nvhleb
сообщение Jan 3 2007, 18:10
Сообщение #7





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



Читал, но там описано очень мало багов/ограничений smile.gif Хотя может это и к лучшему: внушает оптимизм... wink.gif
Посмотрю что ответят на сайте производителя.
Go to the top of the page
 
+Quote Post
bodja74
сообщение Jan 3 2007, 18:46
Сообщение #8


Знающий
****

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



Протеус начинал с пиков,и кто с ними работает его похваливают,с АВР глюкавость есть ,
вот то что я заметил
нет sleep
нет прерываний USART ,SPI
нет SPM,соответственно ВООТ
в меге16 не работают РС6,РС7

на удивление хорошо работает TWI

Ну а так ,юзать можно,нравиться быстрая сборка принципиальной схемы и трассировка двухслойной платы (односторонку паршиво разводит ,в принципе как и многие трассировщики)

По большому счету,симулятор вам может только помочь решить проблемы,но всех он вам не решит.
Go to the top of the page
 
+Quote Post
nvhleb
сообщение Jan 3 2007, 21:42
Сообщение #9





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



bodja74, спасибо огромное за консультацию! smile.gif
Абсолютно согласен smile.gif Давненько занимаюсь embedded-программированием (по большей части под видом хобби) и использую Proteus (4.73) :-)) для рисования схем и плат. Вот решил проапгрейдиться и заодно разобраться и с симулятором... Пока впечатления на 4+ (все шикарно за исключением траблов с прерываниями). Главное, очень сильно экономится время, а то по 20 - 40 раз в день перетыкивать камешек в программатор и обратно уже не в цвет... Внутрисхемное программирование решает большинство таких проблем, но как всегда хочется большего. ;-)
Кстати, по этому вопросу на kazus.ru и labcenter.co.uk пока молчат smile.gif)
Go to the top of the page
 
+Quote Post
AndryG
сообщение Mar 5 2007, 11:56
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Продолжая список глюков AVR в Proteus ...

... натолкнулся, что Mega8 не хочет инициализировать EEPROM с подсунутого ему файла ... пробовал и hex и bin формат sad.gif
Может кто решил проблему?

Proteus 695sp5
Go to the top of the page
 
+Quote Post
#alex_
сообщение Mar 6 2007, 21:02
Сообщение #11





Группа: Новичок
Сообщений: 12
Регистрация: 30-09-06
Пользователь №: 20 840



Цитата(AndryG @ Mar 5 2007, 13:56) *
Продолжая список глюков AVR в Proteus ...

... натолкнулся, что Mega8 не хочет инициализировать EEPROM с подсунутого ему файла ... пробовал и hex и bin формат sad.gif
Может кто решил проблему?

Proteus 695sp5

Да нормально инициализируется bin форматом.
у меня Proteus 69 sp3
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Mar 14 2007, 12:15
Сообщение #12


Местный
***

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



Цитата(bodja74 @ Jan 3 2007, 19:46) *
Протеус начинал с пиков,и кто с ними работает его похваливают,с АВР глюкавость есть ,
вот то что я заметил
нет sleep
нет прерываний USART ,SPI
нет SPM,соответственно ВООТ
в меге16 не работают РС6,РС7

на удивление хорошо работает TWI


Любые модели имеют ограничения
Очень жаль что новые версии авр библиотеки полгода как необновлялись у протеуса

Слип таки нету
Прерывания УАРТ есть - но несовсем такие как нада - Флаг нада самому снимать при выходе
И УСАРТ сам урезан

С портом С я слышал както борются

Счас вышел Преотеус 7.1 сп0
Надеюсь там чтото изменится
Но нормального усарта там нет
Go to the top of the page
 
+Quote Post
ivstech
сообщение Mar 14 2007, 12:42
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 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
DeXteR
сообщение Mar 14 2007, 19:56
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 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

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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 16:52
Рейтинг@Mail.ru


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