Как упоминалось в комментариях, самый простой способ сделать это - использовать комбинацию таймера/счетчика. Я нашел этот быстрый учебник о том, как это сделать специально для ПОС: http://www.mikroe.com/chapters/view/17/chapter-4-examples/#c4v5.
Взгляните на 4.5 и 4.6, они дадут вам именно ту информацию, которая вам понадобится, чтобы получить счетчик интервалов между импульсами. Основной метод заключается в том, чтобы запустить таймер, связать обработчик прерываний (Read: function) с таймером, а затем увеличивать счетчик каждый раз, когда вызывается обработчик прерываний. В следующий раз, когда вы увидите импульс, прочитайте, что такое значение счетчика.
После этого все, что вам нужно знать, это время, в которое вы установили счетчик (который будет представлять собой некоторое целочисленное подразделение вашей частоты генератора и обычно выбирается в коде), и вы можете конвертировать количество интервалов таймера в время в секундах/миллис/нано.
Какой язык программирования вы используете для своего кода? Кроме того, FWIW, вы можете или не можете найти дополнительную помощь для конкретного вопроса uC, подобного этому, по адресу http://electronics.stackexchange.com/. – gankoji
Я использую язык C, поэтому компилятор MikroC. Спасибо за предложение. – saquib2527
ОК. Самое простое решение - использовать таймер и счетчик: запустить таймер с помощью счетчика при 0 на первом импульсе и сохранить значение счетчика на втором импульсе. Я ищу особенности PIC, чтобы дать вам пример ATM. – gankoji