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

frequency and ticks

Timer ticks to frequency and vice versa convertions

#define timer0_mode3_ticks_to_Hz(ticks)   (timer_ticks_to_Hz(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Converts ticks to timer overflow frequency for timer0 mode3.
 
#define timer0_mode3_Hz_to_ticks(frequency)   (timer_Hz_to_ticks(frequency, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Converts frequency to ticks for timer0 mode3.
 
#define timer0_mode3_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_mode3_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_mode3_start_ms(ms)
 Start timer0 in mode 3 with ms duration.
 
#define timer0_mode3_start_Hz(freq)
 Start timer0 in mode 3 with Hz frequency.
 
#define timer0_mode3_delay_ms(ms)
 Run timer0 mode3 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 mode3.

Author
Michael Golovanov

Macro Definition Documentation

◆ timer0_mode3_delay_ms

#define timer0_mode3_delay_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer0_mode3_ms_to_ticks(ms); \
timer0_mode3_delay(ticks); \
} while(0);
#define timer0_mode3_ms_to_ticks(ms)
Convert milliseconds to timer0 ticks.
Definition timer0_mode3_to_ms.h:77

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

Parameters
msuint16_t delay ms duration

◆ timer0_mode3_Hz_to_ticks

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

Converts frequency to ticks for timer0 mode3.

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

Warning
on result overflow returns 0. Be careful.
Parameters
frequencyuint32_t frequency value in Hz. Should not be 0;
Returns
uint16_t timer0 ticks corresponding to frequency value or 0 on result overflow

◆ timer0_mode3_ms_to_ticks

#define timer0_mode3_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_mode3_start_Hz

#define timer0_mode3_start_Hz (   freq)
Value:
do \
{ \
uint16_t ticks = timer0_mode3_Hz_to_ticks(freq); \
timer0_mode3_start(ticks); \
} while (0);
#define timer0_mode3_Hz_to_ticks(frequency)
Converts frequency to ticks for timer0 mode3.
Definition timer0_mode3_to_ms.h:53

Start timer0 in mode 3 with Hz frequency.

Parameters
frequint32_t timer overflow frequency in Hz

◆ timer0_mode3_start_ms

#define timer0_mode3_start_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer0_mode3_ms_to_ticks(ms); \
timer0_mode3_start(ticks); \
} while (0);

Start timer0 in mode 3 with ms duration.

Parameters
msuint16_t timer overflow duration

◆ timer0_mode3_ticks_to_Hz

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

Converts ticks to timer overflow frequency for timer0 mode3.

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 frequency multiplied by 100 corresponding to ticks count

◆ timer0_mode3_ticks_to_ms

#define timer0_mode3_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