delayMicroseconds(0) > delayMicroseconds(1)


May be you think nobody will code: delayMicroseconds(0);

Probably not. But you might call: delayMicroseconds(dt); with dt reaching eventually the value of zero.

Actually, delayMicroseconds(0) will give you a 16480 μs delay. And this error exists since the first versions of the Arduino IDE. And nobody seems to care about.

The reference just tells you:
This function works very accurately in the range 3 microseconds and up. We cannot assure that delayMicroseconds will perform precisely for smaller delay-times.

We can confirm this.

All this only affects delayMicroseconds. The delay which takes the number of milliseconds as parameter is working properly.




contact: nji(at)gmx.de