This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

AT91SAM7X256 interrupt pending

Im using irq0 to generate an interrupt. when i debug the code, the values for SMR and SVR register are correct (as i can see in the AIC window). But the ISR is never serviced. and the pending flag for this interrupt is raised. plz help


 __irq void PIO_ISR (void)
 {
        a1++;  //this is a global variable

        *AT91C_AIC_EOICR = 0;
}

Parents
  • the following code is part of main

    
    AT91C_BASE_AIC->AIC_SMR[2]=0X00000067;     //SET THIS FR INTERRUPT CONDITION
            //      0X 0000 0067   THIS IS FR 7 PRIORITY AND
                                                            //POSITIVE EDGE TRIGGERED MODE
    
    
    AT91C_BASE_AIC->AIC_IECR=0X40000004;         //THIS IS INT ENABLE.
    //WE ENABLE IT FR SOURCE 30
    
    
    AT91C_BASE_AIC->AIC_SVR[2]=(unsigned long) PIO_ISR;   //GIVE ADDRESS OF INTERRUPT HERE
    

Reply
  • the following code is part of main

    
    AT91C_BASE_AIC->AIC_SMR[2]=0X00000067;     //SET THIS FR INTERRUPT CONDITION
            //      0X 0000 0067   THIS IS FR 7 PRIORITY AND
                                                            //POSITIVE EDGE TRIGGERED MODE
    
    
    AT91C_BASE_AIC->AIC_IECR=0X40000004;         //THIS IS INT ENABLE.
    //WE ENABLE IT FR SOURCE 30
    
    
    AT91C_BASE_AIC->AIC_SVR[2]=(unsigned long) PIO_ISR;   //GIVE ADDRESS OF INTERRUPT HERE
    

Children