ATMega32 рестартится ...

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

ATMega32 рестартится ...

Сообщение BCluster »

Привет, кисы. Что-то фигня какая то - все работает, пока не начинаю использваоть прерывания по переполнению таймера. При возникновении прерывания мега просто рестартится, без видимых причин. Ктот видел такое?)
ATMega32, 16 MHz (менялось)
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Сообщение BCluster »

неа, нету wdr, выключен он. Плюс еще раз - без прерываний все работат
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Сообщение AI_Disable »

В симуляторе нормально работает? И, да, код в студию.
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Re: ATMega32 рестартится ...

Сообщение smac »

BCluster писал(а):... При возникновении прерывания мега просто рестартится, без видимых причин. Ктот видел такое?)
..

Наверняка таблица векторов прерываний неправильно составлена - у меги 32 между адресами векторов по два слова а не по одному.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Сообщение BCluster »

Код: Выделить всё

#include <mega32>


interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{

// шото тут делать надо...

}



void main(void)
{
TCCR0=0x04;
TCNT0=0x00;
OCR0=0x00;
TIMSK=0x01; // если не включаь прерывания рестарта нет
#asm("sei")  // если не включать прерывания рестарта нет

while (1)
      {
// чтото тут

      };
}
Аватара пользователя
KraMax
Родился
Сообщения: 8
Зарегистрирован: Чт дек 03, 2009 17:36:55
Откуда: Барнаул

Сообщение KraMax »

Было что-то подобное, когда параметры стека не задал

Код: Выделить всё

; установка параметров стека

   ldi      tmp1,low(ramend)   ;
   ldi      tmp2,high(ramend)   ;
   out      spl,tmp1         ;
   out      sph,tmp2         ;

smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

[quote="BCluster"][/quote]
Умеет ли компилятор, который ты применяешь, делать ассемблерный листинг? Если да, то выкладывай его, если нет - то хекс выкладывай, глянем на таблицу прерываний. Еще неплохо бы все-же код обработчика прерываний полностью посмотреть.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»