Заказали прибор который должен считать метры, и отображать скорость вращения метров в минуту применяется датчик ВЕ158. Сделал подсчет скорости раз в секунду, заказчику не нравится что значение скорости прыгает (привод у них так работает наверное), сделал расчет скорости раз в полминуты - не нравится, что привод встал а значение скорости ещё не изменилась. Вот и гоню может при расчете раз в секунду что-то не так делаю
Код
interrupt [TIM0_OVF] void timer0_ovf_isr(void) //вызывается 30 раз в секунду
{
time++;
if(time == 30)
{
score = impulse_scr * 60;
score = score / num_imp;
impulse_scr = 0;
}
}
где:
score - скорость метров в минуту
impulse_scr - счетчик импульсов
num_imp - число импульсов в одном метре
Сообщение отредактировал clpe - Feb 12 2009, 18:24