delayMicroseconds()
Description
Pauses the program for the amount of time (in microseconds) specified as parameter. There are a thousand microseconds in a millisecond, and a million microseconds in a second.
Currently, the largest value that will produce an accurate delay is about 4000000. This could change in future 86Duino releases. For delays longer than a few seconds, you should use delay() instead.
Syntax
delayMicroseconds(us)
Parameters
us: the number of microseconds to pause (unsigned int)
Returns
None
Example
int outPin = 8; // digital pin 8
void setup()
{
pinMode(outPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(50); // pauses for 50 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(50); // pauses for 50 microseconds
}
configures pin number 8 to work as an output pin. It sends a train of pulses with 100 microseconds period.
Caveats and Known Issues
In general, this function works accurately in the range 1 microsecond and up. But since delayMicroseconds() doesn’t disable interrupts, we cannot assure that it will always perform precisely for smaller delay-times.
See also
- millis()
- micros()
- delay()
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.
