Hi,
I want to synchronize timer0,timer1 and timer2 GPTM available on tm4c123gh6pm Following is my code. I try to read the current value of timer by setting a breakpoint in while(1) but I found that the counters are not synchronized. Is my code not proper? Did i miss something?
int main(void) {
uint32_t a,b,c;
SysCtlClockSet(SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN|SYSCTL_USE_PLL|SYSCTL_SYSDIV_5);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2);
TimerConfigure(TIMER0_BASE,TIMER_CFG_PERIODIC);
TimerConfigure(TIMER1_BASE, TIMER_CFG_PERIODIC);
TimerConfigure(TIMER2_BASE, TIMER_CFG_PERIODIC);
TimerLoadSet(TIMER0_BASE,TIMER_A,SysCtlClockGet()-1);
TimerLoadSet(TIMER1_BASE,TIMER_A,SysCtlClockGet()-1);
TimerLoadSet(TIMER2_BASE,TIMER_A,SysCtlClockGet()-1);
TimerSynchronize(TIMER0_BASE,TIMER_0A_SYNC|TIMER_1A_SYNC|TIMER_2A_SYNC);
TimerEnable(TIMER0_BASE, TIMER_A);
SysCtlDelay(500);
TimerEnable(TIMER1_BASE, TIMER_A);
SysCtlDelay(500);
TimerEnable(TIMER2_BASE, TIMER_A);
SysCtlDelay(500);
while(1)
{
a=TimerValueGet(TIMER0_BASE,TIMER_A);
b=TimerValueGet(TIMER1_BASE,TIMER_A);
c=TimerValueGet(TIMER2_BASE,TIMER_A);
}
}