#include "timerx8.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
|
1.4.2