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

frequency and ticks

Timer ticks to frequency and vice versa convertions

#define timer0_mode2_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 mode2.
 
#define timer0_mode2_Hz_to_ticks(frequency)   (timer_Hz_to_ticks_8bit(frequency, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Converts frequency corresponding to ticks for timer0 mode2.
 
#define timer0_mode2_ticks_to_mcs(ticks)   (timer_8bit_ticks_to_mcs(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))
 Convert ticks count to microseconds.
 
#define timer0_mode2_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_mode2_start_ms(ms)
 Start timer0 in mode 2 with ms duration.
 
#define timer0_mode2_start_Hz(freq)
 Start timer0 in mode 2 with Hz frequency.
 
#define timer0_mode2_delay_ms(ms)
 Run timer0 mode2 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 mode2.

Author
Michael Golovanov

Macro Definition Documentation

◆ timer0_mode2_delay_ms

#define timer0_mode2_delay_ms (   ms)
Value:
do \
{ \
uint16_t ticks = timer0_mode2_ms_to_ticks(ms); \
timer0_mode2_delay(ticks); \
} while(0);
#define timer0_mode2_ms_to_ticks(ms)
Convert milliseconds to timer0 ticks.
Definition timer0_mode2_to_ms.h:77

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

Parameters
msuint16_t delay ms duration

◆ timer0_mode2_Hz_to_ticks

#define timer0_mode2_Hz_to_ticks (   frequency)    (timer_Hz_to_ticks_8bit(frequency, get_timer0_clock_divider(), get_frequency_divider_scale()))

Converts frequency corresponding to ticks for timer0 mode2.

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

Warning
On result iverflow returns 0. Be careful.
Parameters
frequencyuint32_t frequency value in Hz. Should not be 0;
Returns
uint8_t timer0 ticks corresponding to frequency value

◆ timer0_mode2_ms_to_ticks

#define timer0_mode2_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_mode2_start_Hz

#define timer0_mode2_start_Hz (   freq)
Value:
do \
{ \
uint8_t ticks = timer0_mode2_Hz_to_ticks(freq); \
timer0_mode2_start(ticks); \
} while (0);
#define timer0_mode2_Hz_to_ticks(frequency)
Converts frequency corresponding to ticks for timer0 mode2.
Definition timer0_mode2_to_ms.h:53

Start timer0 in mode 2 with Hz frequency.

Parameters
frequint32_t timer overflow frequency in Hz

◆ timer0_mode2_start_ms

#define timer0_mode2_start_ms (   ms)
Value:
do \
{ \
uint8_t ticks = timer0_mode2_ms_to_ticks(ms); \
timer0_mode2_start(ticks); \
} while (0);

Start timer0 in mode 2 with ms duration.

Parameters
msuint8_t timer overflow duration

◆ timer0_mode2_ticks_to_Hz

#define timer0_mode2_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 mode2.

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_mode2_ticks_to_mcs

#define timer0_mode2_ticks_to_mcs (   ticks)    (timer_8bit_ticks_to_mcs(ticks, get_timer0_clock_divider(), get_frequency_divider_scale()))

Convert ticks count to microseconds.

Parameters
ticksuint8_t ticks count.
Returns
uint16_t microseconds time corresponing to timer ticks.