The delay() and delayMicroseconds() functions allow us to pause program execution for times greater than one microseconds. But seeing as Arduinos run @ 16MHz, is there a way I can delay for less than one microsecond? In theory, 1/16Mhz = 62.5 nanosecond period, so I should be able to accurately use delays of ~65ns.
If I can do this, I am thinking of making a more accurate tone() frequency that accepts floating point frequencies.
Before you yell at me for this, I realize that 1us= 1Mhz, which we can't hear. But a function such as the one I hope to use would give more precision, i.e If I need a delay of 1.5us, I can just do 1500ns.