delayMicroseconds()

[Idő]

Leírás

Szünetelteti a programot a paraméter által megadott ideig (mikromásodpercben). Egy ezredmásodpercben ezer mikroszekundum, egy másodpercben pedig egymillió mikroszekundum van.

Jelenleg a legnagyobb érték, amely pontos késleltetést produkál, 16383; nagyobb értékek rendkívül rövid késleltetést okozhatnak. Ez változhat a jövőbeni Arduino kiadásokban. Néhány ezer mikromásodpercnél hosszabb késleltetés esetén használja helyette a delay() függvényt.

Szintaxis

delayMicroseconds(us)

Paraméterek

us: a szünet hossza mikromásodpercekben. Engedélyezett adattípusok: unsigned long.

Visszatérési érték

Nincs.

Példa

A kód úgy konfigurálja a 8-as kivezetést, hogy kimeneti kivezetésként működjön. Körülbelül 100 mikroszekundumos időtartamú impulzussorozatot küld. A közelítés a kódban lévő többi utasítás végrehajtása miatt van.

int outPin = 8;              // digitális 8-as kivezetés

void setup() {
  pinMode(outPin, OUTPUT);    // a digitális kivezetést output-ra állítja
}

void loop() {
  digitalWrite(outPin, HIGH); // a kivezetést bekapcsolja
  delayMicroseconds(50);      // 30 mikromásodperc szünet
  digitalWrite(outPin, LOW);  // a kivezetést kikapcsolja
  delayMicroseconds(50);      // 30 mikromásodperc szünet
}

Megjegyzések és figyelmeztetések

Ez a funkció nagyon pontosan működik 3 mikroszekundum és 16383 mikroszekundum tartományban. Nem tudjuk garantálni, hogy a delayMicroseconds pontosan fog működni kisebb késleltetési idők esetén. A nagyobb késleltetési idők valóban rendkívül rövid ideig késleltetnek.

Az Arduino 0018-tól kezdve a delayMicroseconds() már nem tiltja le a megszakításokat.

Lásd még