TI官方例程代码中的任务状态机用于处理各种不同的非环路控制任务,这种状态机编程对于多任务管理比较有用
// Timing sync for background loops
// Timer period definitions found in PeripheralHeaderIncludes.h
CpuTimer0Regs.PRD.all = mSec1; // A tasks,200000,1ms,CPU frequency=200MHz
CpuTimer1Regs.PRD.all = mSec10; // B tasks,2000000,10ms
CpuTimer2Regs.PRD.all = mSec100; // C tasks,20000000,100ms
// Tasks State-machine init
Alpha_State_Ptr = &A0;
然后在main函数里的while循环中写下如下代码:
//--------------------------------- FRAMEWORK -------------------------------------
for(;;) //infinite loop
{
// State machine entry & exit point
//=========================&