#include "timer.h"
TCNT0
. We could, for example, figure out how long it takes to execute a C command by recording the value of TCNT0
before and after execution, then subtract (after-before) = time elapsed. Or we can enable the overflow interrupt which goes off every time T0 overflows and count out longer delays (multiple overflows), or execute a special periodic function at every overflow.
Modules | |
Timer PWM Commands | |
Defines | |
#define | PWM10 WGM10 |
#define | PWM11 WGM11 |
#define | TIMER_CLK_STOP 0x00 |
Timer Stopped. | |
#define | TIMER_CLK_DIV1 0x01 |
Timer clocked at F_CPU. | |
#define | TIMER_CLK_DIV8 0x02 |
Timer clocked at F_CPU/8. | |
#define | TIMER_CLK_DIV64 0x03 |
Timer clocked at F_CPU/64. | |
#define | TIMER_CLK_DIV256 0x04 |
Timer clocked at F_CPU/256. | |
#define | TIMER_CLK_DIV1024 0x05 |
Timer clocked at F_CPU/1024. | |
#define | TIMER_CLK_T_FALL 0x06 |
Timer clocked at T falling edge. | |
#define | TIMER_CLK_T_RISE 0x07 |
Timer clocked at T rising edge. | |
#define | TIMER_PRESCALE_MASK 0x07 |
Timer Prescaler Bit-Mask. | |
#define | TIMERRTC_CLK_STOP 0x00 |
RTC Timer Stopped. | |
#define | TIMERRTC_CLK_DIV1 0x01 |
RTC Timer clocked at F_CPU. | |
#define | TIMERRTC_CLK_DIV8 0x02 |
RTC Timer clocked at F_CPU/8. | |
#define | TIMERRTC_CLK_DIV32 0x03 |
RTC Timer clocked at F_CPU/32. | |
#define | TIMERRTC_CLK_DIV64 0x04 |
RTC Timer clocked at F_CPU/64. | |
#define | TIMERRTC_CLK_DIV128 0x05 |
RTC Timer clocked at F_CPU/128. | |
#define | TIMERRTC_CLK_DIV256 0x06 |
RTC Timer clocked at F_CPU/256. | |
#define | TIMERRTC_CLK_DIV1024 0x07 |
RTC Timer clocked at F_CPU/1024. | |
#define | TIMERRTC_PRESCALE_MASK 0x07 |
RTC Timer Prescaler Bit-Mask. | |
#define | TIMER0PRESCALE TIMER_CLK_DIV8 |
timer 0 prescaler default | |
#define | TIMER1PRESCALE TIMER_CLK_DIV64 |
timer 1 prescaler default | |
#define | TIMER2PRESCALE TIMERRTC_CLK_DIV64 |
timer 2 prescaler default | |
#define | TIMER0OVERFLOW_INT 0 |
#define | TIMER1OVERFLOW_INT 1 |
#define | TIMER1OUTCOMPAREA_INT 2 |
#define | TIMER1OUTCOMPAREB_INT 3 |
#define | TIMER1INPUTCAPTURE_INT 4 |
#define | TIMER2OVERFLOW_INT 5 |
#define | TIMER2OUTCOMPARE_INT 6 |
#define | TIMER_NUM_INTERRUPTS 7 |
#define | TIMER_INTERRUPT_HANDLER SIGNAL |
#define | delay delay_us |
#define | delay_ms timerPause |
Functions | |
void | delay_us (unsigned short time_us) |
void | timerInit (void) |
initializes timing system (all timers) | |
void | timer0Init (void) |
initialize timer0 | |
void | timer1Init (void) |
initialize timer1 | |
void | timer0SetPrescaler (u08 prescale) |
set timer0 prescaler | |
u16 | timer0GetPrescaler (void) |
get timer0 prescaler | |
void | timer1SetPrescaler (u08 prescale) |
set timer1 prescaler | |
u16 | timer1GetPrescaler (void) |
get timer0 prescaler | |
void | timerAttach (u08 interruptNum, void(*userFunc)(void)) |
Attach a user function to a timer interrupt. | |
void | timerDetach (u08 interruptNum) |
Detach a user function from a timer interrupt. | |
void | timerPause (unsigned short pause_ms) |
void | timer0ClearOverflowCount (void) |
Clear timer0's overflow counter. | |
long | timer0GetOverflowCount (void) |
read timer0's overflow counter |
|
A timer-based delay/pause function
|