How count time between external interrupt

Hi everybody !
im new with Arduino DUE, i want to count the time between the interrupts.
with my code im using the function micro() (you can see the code below).
Unfortunately, the micro() function makes problems to my code, i know that it can be done with timer but i cant understand how to do it, if someone can help me with this one i would be very appreciate !

more explanation: i want to measure the time frequency of the net line, i have zero cross circuit, and every time there is falling voltage the loop function interrupted and the function SAMPLE counting the time. it doesn't work so well, if someone can help me with other technique please.

code:

#define line_sample 2 
 volatile  unsigned long line_freq_sample = 0;
 volatile  unsigned long new_sample = 0;
 volatile  unsigned long old_sample = 0;
void setup() {
   pinMode(line_sample,INPUT); 
   attachInterrupt(digitalPinToInterrupt(line_sample),SAMPLE,FALLING); 
}
void loop() {
  // put your main code here, to run repeatedly:
}
void SAMPLE(){
  new_sample = micros();
  line_freq_sample = (new_sample - old_sample)/20;
  old_sample = new_sample;
}

Welcome! A good question but not a lot of information to work with. What are you measuring? Probably the best thing is to post links to "Technical" information on all the hardware items. Also a simple schematic would help. For the most part frizzy pictures are useless.