gInitFlag = 0		// 初始化标志位
gSMStep = 0			// 状态机状态变量

function task1_main()
	if gInitFlag == 0 then
		gInitFlag = 1
		SmInit()
	end
	
	while gInitFlag > 0 do
		SmMain()	
	end
end

function SmInit() 	// 状态机初始化
    gSMStep = 0
end

function SmMain() // 状态机主函数
	if gSMStep == 0 then SmStep0() 
	elseif gSMStep == 1 then SmStep1() 
	elseif gSMStep == 2 then SmStep2() 
	elseif gSMStep == 3 then SmStep3() 
	end
end

function SmStep0() 	// 状态0处理
	delay(200)
    gSMStep = 1	// 跳转到下一个状态
end

function SmStep1() 	// 状态1处理
    delay(200)
    gSMStep = 2	// 跳转到下一个状态
end

function SmStep2() 	// 状态2处理
	delay(200)
    gSMStep = 3	// 跳转到下一个状态
end

function SmStep3() 	// 状态3处理
	print("SMStep3")
    gSMStep = 0
end
