Cronometro / Contagem de Tempo / millis()/ esp_get_time();/ tempo de execução

Temos um código onde cada vez que um led acende uma pessoa deve interromper um sensor infravermelho. O mestre um M5 Stack Core 2 diz para outros ESPs quem deles deve acender seu respectivo LED. Para essa comunicação estamos usando o ESP NOW, já que precisamos de um sistema sem fio.

Para medir o tempo, antes da rotina de leds acender começar iniciamos a contagem de tempo com:
button_pressed = millis();

Após o fim da execução da Rotina chamamos a função end_time igual a:

elapsedtime = millis() - button_presssed.

Contudo, quando o resultado aparece na tela não está condizendo com o valor real do relógio que cronometramos com o celular, da erros de 2 a 30s de forma aleatória.

Também tentamos utilizar esp_get_time(); pensando que o problema fosse o overflow, mas não resolveu. Nas rotinas 3 e 4, onde o usuário tem até x segundos para interromper o led a taxa de erro piora.

Como podemos fazer para calcular o tempo de execução mais perto do tempo real?

Seja bem vinda, ou sejam bem vindos.
Em primeiro lugar, voce leu o tópico que recomendado a todos novos usuários?

Se não eu recomendo que o faça. " Como obter o melhor desse Fórum - #4

Lá verá que não se deve postar fotos de código.
Se voce não quer postar o codigo inteiro, por qualquer razão, então post um codigo resumido mas que reproduza o problema que ocorre com o codigo completo.

Para postar o codigo use a ferramenta "< code > " clicando na barra de ferramentas .
image

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.