delay()

Descrição

Pausa o programa por uma quantidade especificada de tempo (em milissegundos). Cada segundo equivale a 1000 milissegundos.

Sintaxe

delay(ms)

Parâmetros

  • ms: o número de milissegundos para pausar o programa (unsigned long)

Retorna

Nada

Código de Exemplo

O código pausa o programa por um segundo antes de trocar o estado do pino 13.

int ledPin = 13; // LED conectado ao pino digital 13 void setup() { pinMode(ledPin, OUTPUT); // configura o pino digital como saída } void loop() { digitalWrite(ledPin, HIGH); // acende o LED delay(1000); // espera por um segundo digitalWrite(ledPin, LOW); // apaga o LED delay(1000); // espera por um segundo }

※ Notas e Advertências:

Mesmo que seja fácil fazer um LED piscar usando a função delay(), e muitos sketches usam delays pequenos para tarefas como debouncing de botões, o uso de delay() em um sketch possui desvantagens significantes. Nenhuma leitura de sensores, cálculos matemáticos, ou manipulação de pinos podem ocorrer durante a função delay(), para resumir, causa a pausa de qualquer atividade. Para métodos alternativos de controlar temporizações, veja o sketch Blink Sem Delay (Em Inglês), que verifica a função millis() até que o tempo suficiente tenha passado. Programadores mais habilidosos usualmente evitam o uso da função delay() para timing de eventos mais longos que dezenas de milissegundos, a menos que o sketch Arduino seja muito simples.

No entanto, certas coisas continuam a acontecer enquanto a função delay() está controlando o microcontrolador, porque a função delay não desativa interrupções. Comunicação serial recebida no pino RX é armazenada, valores PWM de (analogWrite) e estados dos pinos são mantidos, e interrupções externas irão funcionar como devem.

Ver Também

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.