One problem is that you don't set freq back to 0 after you display the speed. This causes a count of 1 to be reported as 4, 16, 64.
It would be good to check Timer2 to see that it is actually triggering every 250 milliseconds.
One problem is that you don't set freq back to 0 after you display the speed. This causes a count of 1 to be reported as 4, 16, 64.
It would be good to check Timer2 to see that it is actually triggering every 250 milliseconds.