Hi Ti Engineer:
I am using CC3200 and do my job based on wifi audio application, in my job I want to start a timer periodicly, but from my test result the periodic timer not working properly, would you please help have a look at it. below are my code:
1. in main thread I init following two timers, TIMERA0 is one shot timer, TIMERA1 is periodic timer
Timer_IF_Init(PRCM_TIMERA0, TIMERA0_BASE, TIMER_CFG_ONE_SHOT, TIMER_A, 0);
Timer_IF_IntSetup(TIMERA0_BASE, TIMER_A, TimerA0Handler);
Timer_IF_Init(PRCM_TIMERA1, TIMERA1_BASE, TIMER_CFG_PERIODIC, TIMER_A, 0);
Timer_IF_IntSetup(TIMERA1_BASE, TIMER_A, TimerA1Handler);
in the TimerA1Handler(), I clear the TIMERA1's interrupt like below:
void TimerA1Handler()
{
Timer_IF_InterruptClear(TIMERA1_BASE);
... ... ... ...
... ... ... ...
}
2. the TIMERA0 is working properly
3. I start the TIMERA1 in network thread like below(start it before network thread enter the deadloop)
Timer_IF_Start(TIMERA1_BASE, TIMER_A, 60000);
4. But from test result , I saw below problem:
1) the TIMERA1 timeout less than my definition(in above definition, I expect it expire each 60s interval)
2) the TimerA1Handler() being called at random time, sometimes 12s, sometimes 6s, sometimes 60ms, sometimes 20ms ..., in general, no regularation