smartleds (19.09.2006 18:46, просмотров: 1) ответил 0men на Блин, посмотрите что у меня написано, а что у вас
не, Вашу мысль я понял, и irq_handler я не трогал , а прям скопировал Ваш Ваш остался без изменения
#pragma vector=IRQV
__irq __arm void irq_handler(void)
{
void (*interrupt_function)();
unsigned int vector;
vector = VICVectAddr; // Get interrupt vector.
interrupt_function = (void(*)())vector;
(*interrupt_function)(); // Call vectored interrupt function.
VICVectAddr = 0; // Clear interrupt in VIC.
}
Свой я написал вот такой
__ramfunc __irq __arm void Handler(void)
{
IOCLR0_bit.P0_18 = 1;
обычный цикл фор здесь
IOSET0_bit.P0_18 = 1;
}
и соответственно поправил тут
VICVectAddr2 = (unsigned long)Handler;
вот и все, но из прерывание выйти не могу, один раз светодиод моргает и все висим.