roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 май 2025, 23:57

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с прерыванием atmega8
СообщениеДобавлено: 06 ноя 2012, 14:20 
Не в сети

Зарегистрирован: 27 окт 2012, 09:21
Сообщения: 8
Откуда: Астана
прог. языки: C#, php, Perl, java
Добрый день!
бьюсь над непонятной штукой! :o есть простой код c прерыванием
Код:
...
unsigned int int1A = 0;
...
ISR(INT1_vect)
{
int1A++;
}
void INTinit()
{
   MCUCR = (1<<ISC10) | (1<<ISC11) | (1<<ISC01) | (1<<ISC00);
   GICR = (1<<INT1) | (1<<INT0); //| (0<<INTF1) | (0<<INTF0)
}
int main(void)
{
   INTinit();
   DDRD=0b11110011;
   PORTD=0x00;
   sei();
//int1A=0x00; если указать то все нормально.
   lcd_init();
   ...
   while(1){
         ...
         lcd_goto(2,6);
         lcd_itostr(int1A);
         _delay_ms(100);
        }
}


при запуске MK (в Proteus 7) int1A=1 то есть срабатывает прерывание при инициализации, физически там нет возрастающего сигнала...

Кто нибудь сталкивался с такой проблемой?

PS. пытаюсь реализовать нечто подобное 1-write. такая ситуация сбивает счетчик таймера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с прерыванием atmega8
СообщениеДобавлено: 05 дек 2012, 14:47 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Proteus 7.8 SP2 - внешние прерывания НЕ РАБОТАЮТ. В версиях ниже 7.2, 6.9, 6.7 - нормально работают с той же программой (буквавбукву) на ассемблере. Странно что другие прерывания в 7.8 - нормально. Правда проверил не все естесно...
Возможно ентот Прот. ориентирован на использование "мастеров" в компиляторах для си и прочих, не знаю... Но асм является родным для него! :x

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с прерыванием atmega8
СообщениеДобавлено: 05 дек 2012, 18:55 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Потратил много времени, проверил в железе: всё нормально работает и внешние и АЦП и таймеры и усарт с тем же хексом из прота 7.8... В нём самом внешние палюбэ не пашут. Остальное не проверял и не стану... Вывод: лажа Протеуса 7.8 - его на свалку :sorry: Написать им, что ль? Да ну на... чёт влом :crazy: ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с прерыванием atmega8
СообщениеДобавлено: 06 дек 2012, 11:31 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
протеус - ещё та пакость, как показала практика и статистика мумукания пользователей, лучше собрать реальную схему и на ней смотреть. Большинство проблем как раз в самом протеусе, чем реально ошибка в железе или софте.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO