Code Correction

Thanks for following up but actually I don't need 1 count per microsecond I am already getting 3 counts per microsecond but I need accuracy in my measurements for which it is not enough. What do you think using a external fast counter with following sequence would solve my problem?

providing 12 MHz clock from function generator
providing the pulse to the enable input.
Make an interrupt into the Arduino when the pulse has a negative edge (end of pulse.)
Read and reset the counter from the Arduino.

If I use 8 bit external fast counter with the above sequence?