04-09-2025, 22:50
Тогда уж проще период измерять,об этом уже писали,и не будет задержки в 1 сек-считаешь миллис-ом между импульсами и все! Примерно так-
unsigned long t1,t2,period;
...............
// Тут я прерываю для подсчета импульсов
void countPulse() {
//pulseCount++;
t1=millis();
period=t1-t2;
t2=t1;
}
Ну и в теле программы смотрим период,который будет всегда "свежим" без всяких задержек.Для частоты 10 Гц period будет около 100.Можно сделать микросом,если нужна точность.
unsigned long t1,t2,period;
...............
// Тут я прерываю для подсчета импульсов
void countPulse() {
//pulseCount++;
t1=millis();
period=t1-t2;
t2=t1;
}
Ну и в теле программы смотрим период,который будет всегда "свежим" без всяких задержек.Для частоты 10 Гц period будет около 100.Можно сделать микросом,если нужна точность.


