![]() |
avr_lib
2.0
A C library for AVR microcontrollers
|
Timer that counts ticks and 'seconds'. Default setting is to use T2: FCPU 16MHz, prescaller 64, terminal count 250, for timer period of 1ms. More...
Go to the source code of this file.
Macros | |
#define | SYSCLK_INIT() T2_OC2A_NONPWM_NORMAL(); T2_WGM_CTC() |
Change these to use a different timer: normal mode, output pin disabled, set CTC mode - clear timer on compare match. More... | |
#define | SYSCLK_INT_ENABLE() T2_CMA_E(); |
#define | SYSCLK_INT_DISABLE() T2_CMA_D(); |
#define | SYSCLK_START() T2_START(); |
#define | SYSCLK_STOP() T2_STOP(); |
#define | SYSCLK_ISR_NAME TIMER2_COMPA_vect |
#define | SYSCLK_DEFS |
#define | SYSCLK_INIT_PRE() T2_CS_PRE_64() |
With FCPU = 16MHz, prescaler 64 and terminal count 250 gives tick (compare match interrupt) period of 1ms. More... | |
#define | SYSCLK_SET_TC() T2_OCR2A(250) |
#define | SYSCLK_TICK_FREQ 1000 |
This many ticks per 'second'. More... | |
Functions | |
void | sysclk_init () |
Initialise and start the clock. More... | |
void | sysclk_stop () |
Stop the clock. Disable interrupt. More... | |
void | sysclk_start () |
Start the clock. Enable interrupt. More... | |
void | sysclk_reset () |
Resets tick and seconds counter to 0, clears tick flags. More... | |
uint16_t | sysclk_get_ticks () |
Return the current tick count. More... | |
uint8_t | sysclk_has_ticked () |
Return true if a tick has occured since prior call, false otherwise. More... | |
uint16_t | sysclk_get_seconds () |
Return current seconds count. More... | |
uint8_t | sysclk_have_seconds_ticked () |
Return true if a seconds-tick has occured since prior call, false otherwise. More... | |
void | sysclk_reset_seconds () |
Reset the seconds count to 0. More... | |
Detailed Description
Timer that counts ticks and 'seconds'. Default setting is to use T2: FCPU 16MHz, prescaller 64, terminal count 250, for timer period of 1ms.
- Date
- 2016/05/16 06:32:46
Uses TIMER2_COMPA_vect, ISR is defined in sysclk.c
To use different timing paramters, change the SYSCLK_INIT_PRE(), SYSCLK_SET_TC() macros, and set SYSCLK_TICK_FREQ define accordingly.
To use a different timer, change all the SYSCLK_XXX macros/defines accordingly, eg replace T2_ with T0_, TIMER2 with TIMER0.
Definition in file sysclk.h.
Macro Definition Documentation
◆ SYSCLK_DEFS
◆ SYSCLK_INIT
#define SYSCLK_INIT | ( | ) | T2_OC2A_NONPWM_NORMAL(); T2_WGM_CTC() |
◆ SYSCLK_INIT_PRE
#define SYSCLK_INIT_PRE | ( | ) | T2_CS_PRE_64() |
◆ SYSCLK_INT_DISABLE
◆ SYSCLK_INT_ENABLE
◆ SYSCLK_ISR_NAME
◆ SYSCLK_SET_TC
◆ SYSCLK_START
◆ SYSCLK_STOP
◆ SYSCLK_TICK_FREQ
Function Documentation
◆ sysclk_get_seconds()
|
inline |
◆ sysclk_get_ticks()
|
inline |
◆ sysclk_has_ticked()
|
inline |
◆ sysclk_have_seconds_ticked()
|
inline |
◆ sysclk_init()
◆ sysclk_reset()
void sysclk_reset | ( | ) |
◆ sysclk_reset_seconds()
|
inline |
◆ sysclk_start()
|
inline |
◆ sysclk_stop()
Generated on Thu Dec 20 2018 22:16:44 for avr_lib by
