И все же задам еще один вопрос здесь, чтобы не плодить отдельные топики. Теперь задача ставится несколько по-другому: необходимо считать длительность ОДНОГО периода на пине T1. Fbq = 11059200 Гц, на входе период 1.6 мкс. Код:
Код
__disable_interrupt();
do {} while (PIN(T1IN));// синхронизация с сигналом (фронт 01)
do {} while (!PIN(T1IN));
Tmr1Start;
do {} while (PIN(T1IN));do {} while (!PIN(T1IN));// один период на пине
Tmr1Stop;
__enable_interrupt();
На первый взгляд, должны в таймере получить Tin/(1/Fbq) = 1.6e-6*11059200 = 17.69, но на самом деле получаем 21, иногда 24. Источник сигнала - автогенератор. Вы скажете, что автогенератор нестабилен? Но чем тогда объяснить тот факт, что примерно на 10 исходов 21 приходится один 24. И НИКАКИХ ДРУГИХ РЕЗУЛЬТАТОВ за все время измерений/наблюдений!!! Есть ли здесь тонкости?
Хочу сразу оговориться, что не собираюсь измерять такой период таким образом! Это просто отдельный вопрос не нашедший объяснения, не более того!