La librería Stopwatch permite registrar el tiempo transcurrido en la ejecución del código, obteniendo el resultado como milisegundos transcurridos o como frecuencia en Hz. Con esta librería podemos medir el tiempo de forma sencilla, liberando de estas funciones al flujo principal.
La clase Stopwatch resulta de utilidad, ejemplo, para realizar encoders, un tacómetro, o determinar la frecuencia de una señal. Además, podemos tener varias instancias ejecutándose simultáneamente, y combinarlo con otras librerías como Debounce Filter o Histeresis.
La clase Stopwatch dispone de dos modos de funcionamiento. Uno es mediante el uso de las funciones de Reset() y Update() que, respectivamente, inicializa el tiempo de comiendo de la medición y registra el tiempo pasado. Por tanto, el tiempo registrado es el transcurrido entre la llamada a Reset() y Update().
El otro modo de funcionamiento es mediante el uso de la función Measure(), que recibe como parámetro una funcion void(*)() para medir. Stopwatch registra el tiempo empleado para la ejecución de la función pasada como parámetro.
En cualquiera de los dos casos, el tiempo registrado se obtiene mediante GetElapsed() y GetFrequency() que obtienen, respectivamente, el tiempo en miliseggundos y la frecuencia en Hz.
Manual de uso
Constructor
La clase Stopwatch se instancia a través de su constructor.
Stopwatch();
Usar Stopwatch
// Registra el instante actual como comienzo de la medición
void Reset();
// Registra el instante actual como fin de la medición
void Update();
// Registra la medición de la función pasada como parámetro
void Measure(StopwatchAction action);
// Obtiene el tiempo transcurrido en milisegundos
unsigned long GetElapsed() const;
// Obtiene el tiempo transcurrido como frecuencia en Hz
float GetFrequency() const;
Ejemplos
La librería Stopwatch incluye los siguientes ejemplos para ilustrar su uso.
- ResetUpdate: Ejemplo de uso mediante Reset() y Update()
- GetMeasure: Ejemplo de uso mediante GetMeasure()
Instalación
- Descargar la última versión desde GitHub
- Descomprimir el archivo
- Copiar en tu carpeta de librerías (normalmente Mis Documentos\Arduino\libraries)
- Relanzar el IDE de Arduino