задача:
померить время между импульсами, с разрешением 0.1us.
Максимальная длительность между импульсами - 1.5sec
моё решение:
настраиваю собственно CCP,
прерывание по захвату ССP и по переполнению таймера.
в прерывании по переполнению таймера - увеличиваю доп переменную.
в прерывании по захвату ССP - сохраняю захваченные значения и доп переменную.
суть проблемы:
для перехода в прерывание требуется минимум три такта микроконтроллера,
+ анализ флажков источников прерывания (дабы понять источник прерывания)
так вот если захват происходит либо за 3-4 такта до переполнения таймера либо чуть после, подняты оба флажка. И как понять происходил захват до переполнения таймера или после? Всё что я придумала - это анализировать захваченные данные, но очень хочется узнать как поступают здравомыслящие люди