STC15W408AS library 0.17.0
Loading...
Searching...
No Matches
Timer2 Mode0 ticks to duration/frequency convertions

ticks to frequency conversions

Timer ticks to overlow frequency and vice versa convertions

#define timer2_mode0_ticks_to_Hz(ticks)   (timer_ticks_to_Hz(ticks, get_timer2_clock_divider(), get_frequency_divider_scale()))
 Convert ticks to timer frequency for timer2 multiplied by 100.
 
#define timer2_mode0_Hz_to_ticks(frequency)   (timer_Hz_to_ticks(frequency, get_timer2_clock_divider(), get_frequency_divider_scale()))
 Converts frequency to ticks for timer2 mode0.
 

ticks to duration conversions

Timer ticks to timer overlow duration and vice versa convertions

#define timer2_mode0_ticks_to_ms(ticks)   (timer_16bit_ticks_to_ms(ticks, get_timer2_clock_divider(), get_frequency_divider_scale()))
 Convert ticks count to ms.
 
#define timer2_mode0_ms_to_ticks(ms)   (timer_ms_to_ticks(ms, get_timer2_clock_divider(), get_frequency_divider_scale()))
 Convert milliseconds to timer2 ticks.
 

timer start for frequency and ms

Start Timer for ms or frequency

#define timer2_mode0_start_ms(ms)
 Start timer2 in mode 0 with ms duration.
 
#define timer2_mode0_start_Hz(freq)
 Start timer2 in mode 0 with Hz frequency.
 

Detailed Description

Functions and data structures for converting timer2 ticks to duration/frequency and vice versa.

Author
Michael Golovanov

Macro Definition Documentation

◆ timer2_mode0_Hz_to_ticks

#define timer2_mode0_Hz_to_ticks (   frequency)    (timer_Hz_to_ticks(frequency, get_timer2_clock_divider(), get_frequency_divider_scale()))

Converts frequency to ticks for timer2 mode0.

Call this method after timer2 is initialized and MCU clock frequency divider scale is set.

Warning
On ticks uint16_t overflow returns 0
Parameters
frequencyuint32_t frequency value in Hz. Should not be 0;
Returns
uint16_t timer2 ticks corresponding to given frequency value or 0 on result overflow

◆ timer2_mode0_ms_to_ticks

#define timer2_mode0_ms_to_ticks (   ms)    (timer_ms_to_ticks(ms, get_timer2_clock_divider(), get_frequency_divider_scale()))

Convert milliseconds to timer2 ticks.

This routine doesnt check overflows. Its unsafe.

Parameters
msuint16_t ms to convert
Returns
uint16_t ticks count for milliseconds

◆ timer2_mode0_start_Hz

#define timer2_mode0_start_Hz (   freq)
Value:
do \
{ \
uint16_t ticks = timer2_mode0_Hz_to_ticks(freq); \
timer2_mode0_start(ticks); \
} while (0);
#define timer2_mode0_Hz_to_ticks(frequency)
Converts frequency to ticks for timer2 mode0.
Definition timer2_mode0_to_ms.h:50

Start timer2 in mode 0 with Hz frequency.

Parameters
frequint32_t timer overflow frequency in Hz

◆ timer2_mode0_start_ms

#define timer2_mode0_start_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer2_mode0_ms_to_ticks(ms); \
timer2_mode0_start(ticks); \
} while (0);
#define timer2_mode0_ms_to_ticks(ms)
Convert milliseconds to timer2 ticks.
Definition timer2_mode0_to_ms.h:83

Start timer2 in mode 0 with ms duration.

Parameters
msuint16_t timer overflow duration

◆ timer2_mode0_ticks_to_Hz

#define timer2_mode0_ticks_to_Hz (   ticks)    (timer_ticks_to_Hz(ticks, get_timer2_clock_divider(), get_frequency_divider_scale()))

Convert ticks to timer frequency for timer2 multiplied by 100.

The output frequency = (SYSclk/timer_clock_divider)/((65536-ticks) * 2).

Call this method after timer2 is initialized and MCU clock frequency divider scale is set.

Parameters
ticksuint16_t timer ticks count to covert
Returns
uint32_t frequency multiplied by 100 corresponding to ticks count

◆ timer2_mode0_ticks_to_ms

#define timer2_mode0_ticks_to_ms (   ticks)    (timer_16bit_ticks_to_ms(ticks, get_timer2_clock_divider(), get_frequency_divider_scale()))

Convert ticks count to ms.

This method doesnt analyze corner cases and overflow of result. Be careful.

Parameters
ticksuint16_t ticks count
Returns
milliseconds time corresponing to timer ticks