AnsweredAssumed Answered

ADZS BF 548 Timer interrupt issue

Question asked by amar26121993 on Jun 28, 2017
Latest reply on Aug 14, 2017 by Jithul_Janardhanan

Hi everybody

 

iam using ADZS BF 548 eval board,i tried to run two timers for delay of 100ms and 500ms using interrupt, but only 500ms delay timer ISR is executing and 100ms delay timer ISR is not executing!!!  

 

printf("T8 ISR\n\r"); is printing but printf("T1 ISR\n\r"); is not printing!!!!!!!!

 

Below is my configuration

//---------------------------------------------------------------------------------------------------------

Timer 1 for 100ms

Timer 8 for 500ms


void Init_MultiTimer_Interrupts(void)
{
*pSIC_IAR10 = (*pSIC_IAR10 | 0x4fffffff);
register_handler(ik_ivg11, Timer1_ISR); // Timer1 ISR -> IVG 11
*pSIC_IMASK2 |= (IRQ_TIMER1);

 

*pSIC_IAR2 = (*pSIC_IAR2 | 0xfffffff4);
register_handler(ik_ivg11, Timer8_ISR); // Timer8 ISR -> IVG 11
*pSIC_IMASK0 |= (IRQ_TIMER8);
}
void Init_MultiTIMER(void)
{
*pTIMER1_CONFIG = 0x0019;
*pTIMER1_PERIOD = 0xCAF120;
*pTIMER1_WIDTH = 0x657890;
*pTIMER_ENABLE0 = 0x0002;

 

*pTIMER8_CONFIG = 0x0019;
*pTIMER8_PERIOD = 0x3F6B5A0;
*pTIMER8_WIDTH = 0x1FB5AD0;
*pTIMER_ENABLE1 = 0x0001;
}

 

int main()//int argc, char *argv[])
{
   sysconfig();
   adi_ssl_Init();
   Init_MultiTIMER();
   Init_MultiTimer_Interrupts();
   printf_setup(0 ,BAUD_RATE_115200);
   while(1)
   {
   }
}

 

EX_INTERRUPT_HANDLER(Timer1_ISR) // Timer interrupt handler for TIMER 1
{

      *pTIMER_STATUS0=(*pTIMER_STATUS0 | 0x0002);       // Clear Timer1 Interrupt
      printf("T1 ISR\n\r");
}

EX_INTERRUPT_HANDLER(Timer8_ISR) // Timer interrupt handler for TIMER 8
{

      *pTIMER_STATUS1=(*pTIMER_STATUS1 | 0x0001);         // Clear Timer8 Interrupt
       printf("T8 ISR\n\r");
}

 

And also any one please send the core timer configuration for ADZS BF 548 with 133MZ system clock ,since ineed all 3 timer i.e

core timer , Timer 1 and Timer 8 in my project.

 

Thanks for reply in advance,

In emergency.

 

Best regards

Amar TR.

Outcomes