Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Índece de classes contidas na LIB ES32Lab

Classe ES_TimeInterval

A classe ES_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 classe "ES_TimeInterval" para gerencia o tempo através do comando "intervalMillis()", não parando o código em execução

#include <ES32Lab.h>

ES_TimeInterval intervalTest;
void setup() {
  Serial.begin(115200);
}
void loop() {
  /*
    boolean ES_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 classe "ES_TimeInterval" para criar um cronometro para identificar quanto tempo leva para executar alguns comandos "Serial.print()".

#include <ES32Lab.h>

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

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

  /*
    long ES_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);
}

Índece de classes contidas na LIB ES32Lab