nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Может кто-нибудь сталкивался: есть тестовая программка написанная на 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); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Совсем забыл, версия Proteus 6.9 SP5 от kazus.ru. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Есои не трудно, киньте pls. avr.dll от proteus 6.7 сюда или мне на мыло (nvhleb'ГАВ-ГАВ'km.ru). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба В протеусе режим at any change of signal level (прерывание при изменении логического уровня) не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Прикольно :)) Действительно, интересная фича... Хоть бы в хелпе описали :(( Нет ли где-нибудь ветки про такие ограничения ISIS'а? Был бы очень признателен. :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Прикольно :)) Действительно, интересная фича... Хоть бы в хелпе описали :(( Нет ли где-нибудь ветки про такие ограничения ISIS'а? Был бы очень признателен. :-) C:/Proteus/HELP/AVR.hlp (model limitations) ,может и не все ,а может баги из за пропатченой версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Читал, но там описано очень мало багов/ограничений :) Хотя может это и к лучшему: внушает оптимизм... ;) Посмотрю что ответят на сайте производителя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Протеус начинал с пиков,и кто с ними работает его похваливают,с АВР глюкавость есть , вот то что я заметил нет sleep нет прерываний USART ,SPI нет SPM,соответственно ВООТ в меге16 не работают РС6,РС7 на удивление хорошо работает TWI Ну а так ,юзать можно,нравиться быстрая сборка принципиальной схемы и трассировка двухслойной платы (односторонку паршиво разводит ,в принципе как и многие трассировщики) По большому счету,симулятор вам может только помочь решить проблемы,но всех он вам не решит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nvhleb 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба bodja74, спасибо огромное за консультацию! :) Абсолютно согласен :) Давненько занимаюсь embedded-программированием (по большей части под видом хобби) и использую Proteus (4.73) :-)) для рисования схем и плат. Вот решил проапгрейдиться и заодно разобраться и с симулятором... Пока впечатления на 4+ (все шикарно за исключением траблов с прерываниями). Главное, очень сильно экономится время, а то по 20 - 40 раз в день перетыкивать камешек в программатор и обратно уже не в цвет... Внутрисхемное программирование решает большинство таких проблем, но как всегда хочется большего. ;-) Кстати, по этому вопросу на kazus.ru и labcenter.co.uk пока молчат :)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndryG 0 5 марта, 2007 Опубликовано 5 марта, 2007 · Жалоба Продолжая список глюков AVR в Proteus ... ... натолкнулся, что Mega8 не хочет инициализировать EEPROM с подсунутого ему файла ... пробовал и hex и bin формат :( Может кто решил проблему? Proteus 695sp5 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexperm72 0 6 марта, 2007 Опубликовано 6 марта, 2007 · Жалоба Продолжая список глюков AVR в Proteus ... ... натолкнулся, что Mega8 не хочет инициализировать EEPROM с подсунутого ему файла ... пробовал и hex и bin формат :( Может кто решил проблему? Proteus 695sp5 Да нормально инициализируется bin форматом. у меня Proteus 69 sp3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 14 марта, 2007 Опубликовано 14 марта, 2007 · Жалоба Протеус начинал с пиков,и кто с ними работает его похваливают,с АВР глюкавость есть , вот то что я заметил нет sleep нет прерываний USART ,SPI нет SPM,соответственно ВООТ в меге16 не работают РС6,РС7 на удивление хорошо работает TWI Любые модели имеют ограничения Очень жаль что новые версии авр библиотеки полгода как необновлялись у протеуса Слип таки нету Прерывания УАРТ есть - но несовсем такие как нада - Флаг нада самому снимать при выходе И УСАРТ сам урезан С портом С я слышал както борются Счас вышел Преотеус 7.1 сп0 Надеюсь там чтото изменится Но нормального усарта там нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivstech 0 14 марта, 2007 Опубликовано 14 марта, 2007 · Жалоба У меня о моделях ATMEGA в протеусе осталось самое плохое впечатление. Началось с того, что он не отрабатывает на меге-8 rcall далее 4К, пришлось менять на call.... SPI не работает.... и т.д. и т.п. На пики пока не собираюсь переходить :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 14 марта, 2007 Опубликовано 14 марта, 2007 · Жалоба У меня о моделях ATMEGA в протеусе осталось самое плохое впечатление. Началось с того, что он не отрабатывает на меге-8 rcall далее 4К, пришлось менять на call.... команды rcall и rjmp по природе своей не дают перехода более 4кбайт или 2кслов :) +Пополню список в меге16 нет прерывния INT2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 14 марта, 2007 Опубликовано 14 марта, 2007 · Жалоба У меня о моделях ATMEGA в протеусе осталось самое плохое впечатление. Началось с того, что он не отрабатывает на меге-8 rcall далее 4К, пришлось менять на call.... SPI не работает.... и т.д. и т.п. На пики пока не собираюсь переходить :) Говоря что чтото неработает - пожалуста укажите версию протеуса и ее ппроисхождение (Про или демо с кусками от про) Про rcall вам уже написали выше =) ЭсПиАй отлично работает в режиме мастера - сам проверял на М8 в протеусе 6.9.5 Еще важно чем вы кормите свою мегу (в каком формате модель принимает программу) Кофф файлом или елф или уброф Пока протеус все равно остается лучшим схемным эмулятором (хотя других мало) + программа динамично развивается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться