这是之前工程用STM8的一段程序,不懂,麻烦帮忙解释一下。
if(system_parameter.Voltage_Group_Key_Flag)//档位
{
if(Read_Key_Voltage_Group == 0)
{
if(system_parameter.Voltage_Group_Key_times < 2000)
{
system_parameter.Voltage_Group_Key_times++;
}
else if(system_parameter.Voltage_Group_Key_times >= 2000)
{
system_parameter.Voltage_Group_Key_times = 0;
system_parameter.Voltage_Group_Key_Long = 1;
system_parameter.Voltage_Group_Key_Short = 0;
system_parameter.Voltage_Group_Key_Flag = 0;
if(system_parameter.ON_OFF_Power)
{
system_parameter.Voltage_Group_LED_Enable_Flag = 1;
}
}
}
else
{
if((system_parameter.Voltage_Group_Key_times > 100)&&(system_parameter.Voltage_Group_Key_times < 1500)&&(system_parameter.Voltage_Group_Key_Cont == 0))
{
system_parameter.Voltage_Group_Key_times = 0;
system_parameter.Voltage_Group_Key_Long = 0;
system_parameter.Voltage_Group_Key_Short = 1;
system_parameter.Voltage_Group_Key_Flag = 0;
if(system_parameter.ON_OFF_Power)
{
system_parameter.Voltage_Group_LED_Enable_Flag = 1;
}
}
else
{
system_parameter.Voltage_Group_Key_times = 0;
system_parameter.Voltage_Group_Key_Long = 0;
system_parameter.Voltage_Group_Key_Short = 0;
system_parameter.Voltage_Group_Key_Flag = 0;
}
}
}
if(system_parameter.Plus_Key_Flag)//加
{
if(Read_Key_Plus == 0)
{
if(system_parameter.Plus_Key_times <= 2000)
{
system_parameter.Plus_Key_times++;
}
else if(system_parameter.Plus_Key_times >= 2000)
{
//system_parameter.Plus_Key_times = 0;
system_parameter.Plus_Key_Long = 1;
system_parameter.Plus_Key_Short = 0;
system_parameter.Plus_Key_Flag = 0;
if(system_parameter.ON_OFF_Power)
{
system_parameter.Up_LED_Enable_Flag = 1;
}
}
}
else
{
if((system_parameter.Plus_Key_times > 100)&&(system_parameter.Plus_Key_times < 1500))
{
system_parameter.Plus_Key_times = 0;
system_parameter.Plus_Key_Long = 0;
system_parameter.Plus_Key_Short = 1;
system_parameter.Plus_Key_Flag = 0;
if(system_parameter.ON_OFF_Power)
{
system_parameter.Up_LED_Enable_Flag = 1;
}
}
else
{
system_parameter.Plus_Key_times = 0;
system_parameter.Plus_Key_Long = 0;
system_parameter.Plus_Key_Short = 0;
system_parameter.Plus_Key_Flag = 0;
}
}
}
|