本帖最后由 discussant 于 2018-7-15 17:33 编辑
写法一:
void StateProcess()
{
if(State==C_OFF_STATE)
{
f_heat=0;//只要在关的状态,一直不加热
if(KeyEvent==C_KEY_EVENT_ON)//状态转换条件
{
State=C_ON_STATE;//状态转换
}
}
else if(State==C_ON_STATE)
{
f_heat=1;//只要在开的状态,一直加热
if(KeyEvent==C_KEY_EVENT_OFF)//状态转换条件
{
State=C_OFF_STATE;//状态转换
}
}
if(f_heat)
GPIO_HEAT=1;
else
GPIO_HEAT=0;
}
写法二:
void StateProcess()
{
if(State==C_OFF_STATE)
{
if(KeyEvent==C_KEY_EVENT_ON)//条件
{
State=C_ON_STATE;//状态转换
f_heat=1;//动作
}
}
else if(State==C_ON_STATE)
{
if(KeyEvent==C_KEY_EVENT_OFF)//条件
{
State=C_OFF_STATE;//状态转换
f_heat=0;//动作
}
}
if(f_heat)
GPIO_HEAT=1;
else
GPIO_HEAT=0;
}
|