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

 
 
> 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, 12:15
Сообщение #2


Местный
***

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

Сообщений в этой теме
- 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
- - 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 Текстовая версия Сейчас: 6th July 2025 - 04:07
Рейтинг@Mail.ru


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