ATMega32, 16 MHz (менялось)
ATMega32 рестартится ...
Привет, кисы. Что-то фигня какая то - все работает, пока не начинаю использваоть прерывания по переполнению таймера. При возникновении прерывания мега просто рестартится, без видимых причин. Ктот видел такое?)
ATMega32, 16 MHz (менялось)
ATMega32, 16 MHz (менялось)
- Реклама
неа, нету wdr, выключен он. Плюс еще раз - без прерываний все работат
В симуляторе нормально работает? И, да, код в студию.
- Сообщения: 459
- Зарегистрирован: Вс июн 01, 2008 12:16:38
Наверняка таблица векторов прерываний неправильно составлена - у меги 32 между адресами векторов по два слова а не по одному.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)
{
// чтото тут
};
}- Реклама
Было что-то подобное, когда параметры стека не задал
Код: Выделить всё
; установка параметров стека
ldi tmp1,low(ramend) ;
ldi tmp2,high(ramend) ;
out spl,tmp1 ;
out sph,tmp2 ;
- Сообщения: 459
- Зарегистрирован: Вс июн 01, 2008 12:16:38


