ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
8 мая
24401
_basile (23.03.2005 14:55, просмотров: 1619)
Вопрос: Прерывание по TIMER1 происходит только один раз...? Код ниже. У Keila в Debuggere и на макете прерывание происходит только один раз, а потом - флаг встает, а прерывание не вызывается. Может кто это проехал? int main (void) { VICIntSelect &= ~(TIMER1_INT_BIT); //Timer1 select as IRQ VICVectAddr0 = (unsigned long)IRQ_Handler; VICVectCntl0 = 0x20 + TIMER1_INT; VICIntEnable |= TIMER1_INT_BIT; //Enable Timer1 interrupt TIMER1_TCR=0; TIMER1_TC=0; TIMER1_PR=0; TIMER1_PC=0; TIMER1_MR0=0xFF; TIMER1_MCR= 0x03; TIMER1_TCR=1; for(;;) { IOSET0= 0x20000000; IOCLR0= 0x20000000; } } void __attribute__((interrupt (TIMER1_INT))) IRQ_Handler() { TIMER1_IR |= 0x01; }