Pete O'Hanlon
Простой способ сделать это-иметь две дополнительные переменные, одна из которых отслеживает пересечение от 0 до 1, а другая-от 1 до 0. Вам нужно будет принять во внимание, что вы хотите увеличить эти значения только при изменении Zero_Cross. В качестве примера:
int oneToZero;
int zeroToOne;
int Zero_Cross;
if (BackFromPowerLoss > 20)
{
if (Zero_Cross == 1)
{
oneToZero++;
}
Zero_Cross = 0;
}
Вы должны быть в состоянии заполнить остальное из этого фрагмента. Главное, что вам нужно проверить, каково Предыдущее значение Zero_Cross, прежде чем вы его измените.
BaselAla
здесь u8PowerLoss_old будет хранить значение zero_cross , поэтому мне нужно использовать переменные u8PowerLoss_old, чтобы помочь мне найти передачу.
static int u8PowerLoss_old = 0;
int Zero_Cross;
if(BackFromPowerLoss > 20)
{
Zero_Cross =0 ;
}
else
{
Zero_Cross = 1 ;
}
u8PowerLoss_old = Zero_Cross; // this is a static variable ,
}