This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV8312-C2-KIT: BLDC_Sensored and Timers

Part Number: DRV8312-C2-KIT
Other Parts Discussed in Thread: ASH

Hi,

I am using DRV8312-C2-KIT and run the BLDC_Sensored program with F28069 .

On the initialization of the code

// Timing sync for background loops
// Timer period definitions found in device specific PeripheralHeaderIncludes.h
 CpuTimer1Regs.PRD.all =  mSec1;  // A tasks
 CpuTimer2Regs.PRD.all =  mSec5;  // B tasks

 Timer1 and Timer2 used respectively for Task A and task B . But in the section for running and reset the timer ,Timer0 and timer1 used for those task.

What is the reason ?I'm confused !

Thanks

Ash

Here is the code for task A /B

//=================================================================================
//	STATE-MACHINE SEQUENCING AND SYNCRONIZATION FOR SLOW BACKGROUND TASKS
//=================================================================================

//--------------------------------- FRAMEWORK -------------------------------------
void A0(void)
{
	// loop rate synchronizer for A-tasks
	if(CpuTimer0Regs.TCR.bit.TIF == 1)
	{
		CpuTimer0Regs.TCR.bit.TIF = 1;	// clear flag

		//-----------------------------------------------------------
		(*A_Task_Ptr)();		// jump to an A Task (A1,A2,A3,...)
		//-----------------------------------------------------------

		VTimer0[0]++;			// virtual timer 0, instance 0 (spare)
		SerialCommsTimer++;
	}

	Alpha_State_Ptr = &B0;		// Comment out to allow only A tasks
}
void B0(void)
{
	// loop rate synchronizer for B-tasks
	if(CpuTimer1Regs.TCR.bit.TIF == 1)
	{
		CpuTimer1Regs.TCR.bit.TIF = 1;				// clear flag

		//-----------------------------------------------------------
		(*B_Task_Ptr)();		// jump to a B Task (B1,B2,B3,...)
		//-----------------------------------------------------------
		VTimer1[0]++;			// virtual timer 1, instance 0 (spare)
	}

	Alpha_State_Ptr = &A0;		// Allow C state tasks
}