Skip to content

ESDeveloperBR/TimeInterval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library TimeInterval

A library TimeInterval tem como objetivo facilitar a utilização dos comandos ”micros()” e “millis()”, tornando assim mais intuitivo o controle de tempo sem a paralização do programa principal.

Métodos

  • boolean intervalMillis(long millisTime): Retorna “verdadeiro” quando o tempo em milissegundos passado por parâmetro (millisTime) chegar ao final;
  • resetMillis(): Reiniciar o contador de milissegundos associado ao método intervalMillis();
  • boolean intervalMicros(long microsTime): Retorna “verdadeiro” quando o tempo em microssegundos passado por parâmetro (microsTime) chegar ao final;
  • void resetMicros(): Reiniciar o contador de microssegundos associado ao método intervalMicros();
  • void stopwatchStartMillis(): Inicializa um cronômetro em Milissegundos.
  • long stopwatchStopMillis(): Parar cronômetro - Retornar o valor obtido em milissegundos.
  • void stopwatchStartMicros(): Inicializa um cronômetro em Microssegundos.
  • long stopwatchStopMicros(): Parar cronômetro - Retornar o valor obtido em microssegundos.

Exemplos práticos

Exemplo 1: O exemplos abaixo utiliza a LIB "TimeInterval" para gerencia o tempo através do comando "intervalMillis()", não parando o código em execução

#include <ES32Lab.h>

TimeInterval intervalTest;
void setup() {
  Serial.begin(115200);
}
void loop() {
  /*
    boolean TimeInterval::intervalMillis(long millisTime)
    Returns "true" when the time in milliseconds has elapsed
    - millisTime: Time in milliseconds
  */
  if(intervalTest.intervalMillis(2000)){  // Execute command every 2000 milliseconds
    Serial.println("It's not stopping the main loop.");
  }

}

Exemplo 2: Utilizar a LIB "TimeInterval" para criar um cronometro para identificar quanto tempo leva para executar alguns comandos "Serial.print()".

#include <ES32Lab.h>

TimeInterval intervalTest;
void setup() {
  Serial.begin(115200);
}
void loop() {
  /*
    void TimeInterval::stopwatchStartMicros()
    Initializes the stopwatch in microseconds
  */
  intervalTest.stopwatchStartMicros();

  Serial.println("*************");
  Serial.println("Hello World");
  Serial.println("*************");

  /*
    long TimeInterval::stopwatchStopMicros()
    Stop stopwatch - Microseconds and return the obtained value  
  */
  long returnStopwatch = intervalTest.stopwatchStopMicros();

  Serial.print("Execution of all previous println commands takes ");
  Serial.print(returnStopwatch);
  Serial.println(" microsconds.");
  Serial.println("");
  delay(5000);
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages