balagurov07 писал(а):я запустил внешнее прерывание по восходящему фронту сигнала, теперь как мне узнать время между 2 внешними прерываниями ввиде переменной, желательно чтобы все это было в командах cvavr, все это для чайника.
Во-первых нужно как можно скорее переставать быть чайником

.
Для этого нужно в даташит посмотреть и прочитать про модуль захвата (Input Capture Unit) - это модуль, который по сигналу со специальной ноги заносит в регистр захвата текущее значение таймера. Программная реализация проста:
1 Настраиваем ногу захвата на захват по фронту
2 Организовываем в прерываниях по переполнению таймера счетчик нужной разрядности T
3 В прерываниях по захвату организуем сохранение переменных t1 и t2 (можно и больше), о которых ниже.
4 Разрешаем прерывания
5 При первом захвате сохраняем вот такое заначение в переменную t1 = T<<n + ICR, где T - значение программного счетчика, огранизованного в прерывании по переполнению таймера, n - разрядность таймера, ICR- содержание регистра захвата.
6 При втором захвате сохраняем вот такое заначение в переменную t2 = T<<n + ICR, где T - значение программного счетчика, огранизованного в прерывании по переполнению таймера, n - разрядность таймера, ICR- содержание регистра захвата.
7 А время между захватами - т. е. время между двумая прерываниями в вашей задаче - это разность t2-t1.
Замечание: если частота появления прерываний достаточно высока (менше частоты переполнения таймера), то переменную T можно не организовывать, в этом случае разность t2-t1 должна быть беззнаковой.