Stay away from timers because they are "high level abstractions" of hardware. They are very incorrect and even more in comparisions. The error rate is to great to accept. Any looping is bad.
Use some hardware high resolution API like Tick count of the processor. Maybe here is
some useful example.