float usec = 1.0 * count * 0.50;
You did not copy my code correctly , the right formula should be
float usec = 1.0 * count * 6 / 16; // See - Measuring Pulse Width - #20 by robtillaart - Project Guidance - Arduino Forum -
if my counter which I have developed by doing programming can do one count every 0.1 microsecond means 10 counts in 1 microsecond then even that is going to be good enough so what do you have to say about that?
An Arduino is 16Mhz. suppose the count++ takes one clock cycle and the test if the pin goes high 3 (load register and do a compare and do a jump ) that would mean that you need at least 4 instructions. 4/16 is about 0.25 micros so if you could do this in assembly that would be the ultimate limit in software on an Arduino.
If you use an NXP MBED at 100Mhz (6x as fast) you can get approx 0.1 usec accuracy in software.