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.

程序理解



// -------------------------------- FRAMEWORK --------------------------------------
// 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
void A4(void); //state A4

// B branch states
void B1(void); //state B1
void B2(void); //state B2
void B3(void); //state B3
void B4(void); //state B4

// C branch states
void C1(void); //state C1
void C2(void); //state C2
void C3(void); //state C3
void C4(void); //state C4

// 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

这部分程序到底什么意思啊?请各位大神解释一下  谢谢

  • 第一段声明了三个主任务函数A0,B0,C0,每个主任务包含4个子任务函数。A0包含A1~A4,B0包含B0~B4,C0包含C1~C4。

    // 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

    上面声明4个指向函数的指针变量。Alpha_State_Ptr指向A0,B0,C0三者中的一个。A_Task_Ptr指向A1~A4中的一个。B_Task_Ptr和C_Task_Ptr与A_Task_Ptr功能一样。你这个只是程序一部分。你看下具体内容就清楚了。


  • 同上,就是一个后台任务简单的状态机,A>B>C , A里面又有A1,A2,同理B, C。

    ERIC