dc42:
You could call delayMicroseconds instead, but I'm not sure what the minimum delay you can get with it is.
On the Arduino website, it says around 3µs. But can I call it inside a timer interrupt?
This function works very accurately in the range 3 microseconds and up. We cannot assure that delayMicroseconds will perform precisely for smaller delay-times.