Esta parte da biblioteca contem funções que geram esperas (ou atrasos) no programa recorrendo a algoritmos de software ou tenporizadores de hardware. As esperas não bloqueiam as interrupções, e assim as interrupções interferem com as esperas implementadas em software. As funções de espera não são pré-compiladas para serem compatíveis com diferentes frequências de relógio.
Espera de software em milisegundos. A função espera alguma optimização do lado do compilador. Parâmetros:
Espera de software em microsegundos. A função espera alguma optimização do lado do compilador. Parâmetros:
Espera baseada num timer de hardware em milisegundos. As funções usam o timer 0 de 8 bits do ATmega128. Dependendo da frequência do relógio, um ero de vários milisegundos pode ocorrer. Parâmetros:
Demonstração dos dois tipos de espera.
#include <homelab/delay.h> int main(void) { // Software base delay of 100 ms. sw_delay_ms(100); // Hardware timer based delay of 100 ms. hw_delay_ms(100); }