Цитата(Sinoptic555 @ Nov 23 2006, 15:10)

Никто не собирается секунды ждать ...
Предлагаемый Вами способ в данном случае энергозатратный.
Проблема в том, что реальные изменения частоты датчика ~40300...42300 Hz
и на эти 2 кГц ~30 000 состояний.
Для того чтобы уловить эти изменения частоты необходимо выгонять контроллер на высокие частоты, а это увеличение энергопотребления в разы.
Компромис, конечно, можно достигнуть за счет использования делителя, но всеравно получается превышение энергопотребления в 2-3 раза.
Разница периодов - около 1мкс. Уложить на этой величине 30000 отсчётов непосредственными методами невозможно. Если применить прямой подсчёт количества фронтов, то даже секунды не хватит, нужно примерно 15 секунд.
Подсчёт периода может занять меньше времени: если частота заполнения равна 1МГц, то считать придётся в течении 30000 периодов, что составит чуть меньше секунды. Подняв частоту раз в десять можно сократить длительность измерения ещё во столько-же раз. Ещё один математический выкрутас позволит (по-видимому) выиграть ещё пару десятков раз, но частота заполнения (а значит и потребление) всё равно должна быть высокой, а процессор будет загружен этой математикой...
Сообщение отредактировал SasaTheProgrammer - Nov 24 2006, 03:00