In FOC example I know that we run mainISR in RAM which is interrupted with ADC but,
My questions :
what is background loop?
Why are 3 cpu timers (0/1/2) runed in this example? Do they count to special values?
What is “STATE-MACHINE SEQUENCING AND SYNCRONIZATION FOR SLOW BACKGROUND TASKS” ?
What is duty of these functions and pointers during mainISR execution ?
where does background loop execute ? in Flash or RAM?
// State Machine function prototypes
//------------------------------------
// Alpha states
void A0(void); //state A0
void B0(void); //state B0
void C0(void); //state C0
// A branch states
void A1(void); //state A1
void A2(void); //state A2
void A3(void); //state A3
// B branch states
void B1(void); //state B1
void B2(void); //state B2
void B3(void); //state B3
// C branch states
void C1(void); //state C1
void C2(void); //state C2
void C3(void); //state C3
// Variable declarations
void (*Alpha_State_Ptr)(void); // Base States pointer
void (*A_Task_Ptr)(void); // State pointer A branch
void (*B_Task_Ptr)(void); // State pointer B branch
void (*C_Task_Ptr)(void); // State pointer C branch
Best Wishes,
Ali Karimi
↧
background loop & state machine with cpu timer 0/1/2
↧