ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
251742
feo_kos (04.05.2011 17:06 - 17:12, просмотров: 6890)
подскажите, почему в этом случае не происходит переход в обработку прерывания. использую симулятор keil. 
#include <AT91SAM7S256.h>
void delay (int i)
{
for(;i>0;--i) ;
}

void IRQ_Handler (void)__irq
{
int n;
for(; n<31;n++)
{
*AT91C_PIOA_SODR=(1<<n);
 delay(10000);
*AT91C_PIOA_CODR=0xFFFFFFFF;
}
*AT91C_AIC_EOICR=0;
}

void main()
{
*AT91C_PIOA_OER=0xFFFFFFFF;
//таймер
*AT91C_PITC_PIMR=0x03000900;
//прерывание
*AT91C_AIC_SMR=0x7;
AT91C_AIC_SVR[1]=(int)  IRQ_Handler;
*AT91C_AIC_IECR=0x2;
while(1);
}