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

frequency and ticks

Timer ticks to frequency and vice versa convertions

#define timer0_mode0_ticks_to_Hz(ticks)   (timer_ticks_to_Hz(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Converts ticks to timer frequency for timer0 multiplied by 100.
 
#define timer0_mode0_Hz_to_ticks(frequency)   (timer_Hz_to_ticks(frequency, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Converts frequency to timer0 mode0 ticks.
 
#define timer0_mode0_ticks_to_ms(ticks)   (timer_16bit_ticks_to_ms(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Convert ticks count to ms.
 
#define timer0_mode0_ms_to_ticks(ms)   (timer_ms_to_ticks(ms, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Convert milliseconds to timer0 ticks.
 

timer start for frequency and ms

Start Timer for ms or frequency

#define timer0_mode0_start_ms(ms)
 Start timer0 in mode 0 with ms duration.
 
#define timer0_mode0_start_Hz(freq)
 Start timer0 in mode 0 with Hz frequency.
 

timer delay ms

Delay using timer

#define timer0_mode0_delay_ms(ms)
 Run timer0 mode0 once and wait with program flow blocking timer not finished.
 

Detailed Description

Functions and data structures for converting timer ticks to frequency and times for timer0 mode0.

Author
Michael Golovanov

Macro Definition Documentation

◆ timer0_mode0_delay_ms

#define timer0_mode0_delay_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer0_mode0_ms_to_ticks(ms); \
timer0_mode0_delay(ticks); \
} while(0);
#define timer0_mode0_ms_to_ticks(ms)
Convert milliseconds to timer0 ticks.
Definition timer0_mode0_to_ms.h:77

Run timer0 mode0 once and wait with program flow blocking timer not finished.

Parameters
msuint16_t delay ms duration

◆ timer0_mode0_Hz_to_ticks

#define timer0_mode0_Hz_to_ticks (   frequency)    (timer_Hz_to_ticks(frequency, get_timer0_clock_divider(), get_frequency_divider_scale()))

Converts frequency to timer0 mode0 ticks.

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

Warning
On uint16_t overflow this routine returns 0.
Parameters
frequency3uint32_t frequency value in Hz. Should not be 0;1
Returns
uint16_t timer0 ticks corresponding to frequency value or 0 on uint16_t overflow

◆ timer0_mode0_ms_to_ticks

#define timer0_mode0_ms_to_ticks (   ms)    (timer_ms_to_ticks(ms, get_timer0_clock_divider(), get_frequency_divider_scale()))

Convert milliseconds to timer0 ticks.

Parameters
msuint16_t ms to convert. Range is 1..~9000
Returns
uint16_t Number of timer ticks corresponding to the input time. Returns 0 if the result overflows uint16_t range.

◆ timer0_mode0_start_Hz

#define timer0_mode0_start_Hz (   freq)
Value:
do \
{ \
uint16_t ticks = timer0_mode0_Hz_to_ticks(freq); \
timer0_mode0_start(ticks); \
} while (0);
#define timer0_mode0_Hz_to_ticks(frequency)
Converts frequency to timer0 mode0 ticks.
Definition timer0_mode0_to_ms.h:53

Start timer0 in mode 0 with Hz frequency.

Parameters
frequint32_t timer overflow frequency in Hz

◆ timer0_mode0_start_ms

#define timer0_mode0_start_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer0_mode0_ms_to_ticks(ms); \
timer0_mode0_start(ticks); \
} while (0);

Start timer0 in mode 0 with ms duration.

Parameters
msuint16_t timer overflow duration

◆ timer0_mode0_ticks_to_Hz

#define timer0_mode0_ticks_to_Hz (   ticks)    (timer_ticks_to_Hz(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))

Converts ticks to timer frequency for timer0 multiplied by 100.

The output frequency = (SYSclk/timer_clock_divider)/(1 + ticks).

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

uint16 ticks used in timer mode 0, 1, 3. For timer mode2 (8 bit autoreladable timer) ticks can be in 0..255 range.

Parameters
ticksuint16_t timer ticks count to covert
Returns
uint32_t timer overflow frequency corresponding to given ticks count

◆ timer0_mode0_ticks_to_ms

#define timer0_mode0_ticks_to_ms (   ticks)    (timer_16bit_ticks_to_ms(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))

Convert ticks count to ms.

Parameters
ticksuint16_t ticks count. Range 7...65535
Returns
milliseconds time corresponing to timer ticks. Range 0..9043