AnsweredAssumed Answered

One or more interrupt sources  assigned for same IVG

Question asked by anjana on Sep 27, 2010
Latest reply on Oct 26, 2010 by anjana

Hi,

 

We  are using BF525 processor in our application, where we are configuring  the timer0  for every 10msec as a  free running timer and also we are  configuring the pg9 as input interrupt..  so by using the SIC_ISR i am identifing the interrupt source which has come at the time....The code snippet i am using for the above case is

 

 

void Init_Interrupts(void)
{

 

     register_handler(ik_ivg12,COMMON_ISR);    // IVG12 is default flag intr.  vector
    *pSIC_IMASK1 |= 0x00000101;            // masking pg intr  A(bit8)  and timer0(bit0)

 

}//end Init_Interrupts

 

my  timer configuration is for 10msec

void Init_Timer0(void)
{
      *pTIMER0_CONFIG = 0x0019;// Configure Timer Period
      *pTIMER0_PERIOD = 1330000;//for 10ms
    *pTIMER0_WIDTH = 0x00000000;   // Configure Timer Width
    *pTIMER_ENABLE = 0x0001; // Enable   Timer0
}

 

EX_INTERRUPT_HANDLER(COMMON_ISR) 
{
   
int read_state_of_pin_int;
read_state_of_pin_int=*pSIC_ISR1;

 

if(read_state_of_pin_int=read_state_of_pin_int  & 0x00000100)
{
    *pPORTGIO_CLEAR = 0x0400;//clear the  latched ir interrupt

 

    *pPORTGIO_MASKA_CLEAR= 0x0400;// disable the ir  interrupt
    *pPORTGIO_MASKA_SET = 0x0400;
   
}

 

read_state_of_pin_int=*pSIC_ISR1;

 

if(read_state_of_pin_int=read_state_of_pin_int  & 0x00000001)
{
  
*pTIMER_STATUS |= 0x00000001;//CLEAR  INTERRUPT
}

 


}

 

Can u please tell me handling the interrupt sources which are having  same IVG(shown above) is a rightway of doing? If not please tell me how can we handle them with an example.

 

Regards

Anjana

Outcomes