Esta biblioteca cobre uma boa parte das funcionalidades dos temporizadores do ATmega128. Existem tipos e funções que tornam mais fácil o uso de temporizadores. Infelizmente, devido à complexidade dos temporizadores do AVR, não existem funções comuns para o uso de diferentes temporizadores. Cada um dos temporizadores tem funções cujo nome tem o prefixo “timer” e o seu indíce.
Inicializa o timer 0 em modo normal. Neste modo o timer conta de 0 a 255 (incluído). A interrupção de overflow pode ser usada. Parâmetros:
Inicializa o timer 2 em modo normal. Neste modo o timer conta de 0 a 255 (incluído). A interrupção de overflow pode ser usada. Parâmetros:
Pára o timer 0/2.
Devolve o valor actual do timer 0/2. Parâmetros:
Configura o valor do timer 0/2. Parâmetros:
Habilita ou desabilita a interrupção de overflow do timer 0/2. O nome do vector de interrupção é “TIMERn_OVF_vect” onde “n” representa 0 ou 2. Parâmetros:
Verifica a flag de overflow do timer 0/2. Parâmetros:
Restabelece a flag de overflow do timer 0/2.
Inicializa o timer 1/3 em modo normal. Neste modo o timer conta de 0 a 65535 (incluído). A interrupção de overflow pode ser usada. Parâmetros:
Inicializa o timer 1/3 em modo CTC (Clear Timer on Compare Match). Neste modo o timer conta até um valor de topo especificado. A interrupção de overflow pode ser usada. Parâmetros:
Inicializa o timer 1/3 em modo PWM rápido. Neste modo o timer conta até um determinado valor, que também determina o período do sinal do PWM. O timer 1/3 tem 3 unidades de comparação de saída (A, B and C) para gerar os sinais PWM. Interrupções de overflow e match podem ser usadas. Parâmetros:
Pára o timer 1/3.
Devolve o valor actual do timer 1/3. Parâmetros:
Configura o valor do timer 0/2. Parâmetros:
Devolve o valor do registo de comparação da unidade de saída A/B/C do timer 1/3. Parâmetros:
Configura o valor do registo de comparação da unidade de saída A/B/C do timer 1/3. Parâmetros:
Devolve o valor do registo de captura da entrada do timer 1/3. Parâmetros:
Configura o valor do registo de captura da entrada do timer 1/3. Parâmetros:
Habilita ou desabilita a interrupção de overflow do timer 1/3. O nome do vector de interrupção é “TIMERn_OVF_vect” onde “n” representa 1 ou 3. Parâmetros:
Enables or disables timer 1/3 output compare unit A/B/C compare match interrupt. The name of the interrupt vector is “TIMERn_COMPx_vect” where “n” represents 1 or 3 and “x” represents A, B or C. Parameters:
Habilita ou desabilita a interrupção de captura de entrada do timer 1/3. O nme do vector de interrupção é “TIMERn_CAPT_vect”, onde “n” representa 1 ou 3. Parâmetros:
Verifica a flag de overfloe do timer 1/3. Parâmetros:
Verifica a flag de captura de entrada do timer 1/3. Parâmetros:
Restabelece a flag de overflow do timer 1/3.
Restabelece a flag de captura de entrada do timer 1/3.
No programa que se segue o timer 0 é inicializado em modo normal com interrupção de overflow.
#include <homelab/timer.h> #include <avr/interrupt.h> // Overflow interrupt program. ISR(TIMER0_OVF_vect) { } int main(void) { // Initializing of timer 0 in normal mode. timer0_init_normal(TIMER0_PRESCALE_32); // Enabling timer 0 overflow interrupt. timer0_overflow_interrupt_enable(true); // Global interrupts enabling. sei(); }