O que é delayMicroseconds()?

A delayMicroseconds() é uma função de controle temporal que suspende a execução das instruções do programa por um intervalo de tempo exato especificado na escala física de microssegundos (milionésimos de segundo).

Aplicações de Alta Precisão Temporal de Microssegundos

Existem transições elétricas em protocolos de barramento que exigem precisão muito maior do que a escala de milissegundos. Ao codificar interfaces no Arduino Uno R3 SMD para modular barramentos customizados, o comando atua de forma crucial:

  • Envio de Pulsos para Sensor Ultrassônico: O gatilho (Trigger) do HC-SR04 exige o envio de um pulso elétrico alto de exatamente 10 microssegundos para disparar a onda de ultrassom.
  • # Sincronização de Sinais Digitais: Usada para sincronizar barramentos de comunicação infravermelho de controles remotos comerciais de alta frequência.
  • # Limitações de Parâmetros: A função aceita valores de tempo do tipo inteiro e opera com precisão estável apenas para intervalos de até 16383 microssegundos.

Diferente de delays normais, o timer interno do sistema não é desligado e o processador opera em um loop fechado interno consumindo ciclos de instrução rápidos de clock.

Perguntas Frequentes (FAQ)

Qual a diferença funcional entre delay() e delayMicroseconds()?
O delay() suspende a execução em escala de milissegundos (1/1000 s). O delayMicroseconds() suspende em escala de microssegundos (1/1.000.000 s), permitindo precisão muito maior.
A delayMicroseconds() funciona para tempos extremamente curtos menores que 3 microssegundos?
Não com precisão perfeita. Para atrasos extremamente curtos de 1 ou 2 microssegundos, o overhead de processamento do compilador de software adiciona atrasos que superam o valor desejado.
Voltar para o blog