No, these macros expand to calls to __builtin_avr_delay_cycles(), which
which are compiled into delay loops. These loops cycle-accurate, but they are affected by interrupts. The delay you get may thenIt should be larger than what you asked for.noted that:
- the arguments to these macros should be compile-time constants, they can be floating point
- the macros are cycle-accurate, e.g.
_delay_us(0.125)will take exactly two CPU cycles on an Uno - whereas the CPU time used by the call is exactly what you ask for, the physical time will be larger if the call gets interrupted.