|
STC15W408AS library 0.13.0
|
tick to frequency conversions | |
Timer ticks to overlow frequency and vice versa convertions | |
| #define | timer2_uint16_ticks_to_freq100(ticks) (timer_uint16_ticks_to_freq100(ticks, get_timer2_clock_divider(), get_frequency_divider_scale())) |
| Convert ticks to timer frequency for timer2 multiplied by 100. | |
| #define | timer2_frequency_to_ticks_unsafe(frequency) (timer_frequency_to_ticks_unsafe(frequency, get_timer2_clock_divider(), get_frequency_divider_scale())) |
| Unsafe approximation timer2 frequency corresponding to ticks. | |
| #define | timer2_ticks_to_ms_usafe(ticks) (timer_ticks_to_ms_usafe(ticks, get_timer2_clock_divider(), get_frequency_divider_scale())) |
| Convert ticks count to ms. | |
| #define | timer2_ms_to_ticks_usafe(ms) (timer_ms_to_ticks_usafe(ms, get_timer2_clock_divider())) |
| Convert milliseconds to timer2 ticks. | |
Functions and data structures for converting timer ticks to frequency and times for timer2.
| #define timer2_frequency_to_ticks_unsafe | ( | frequency | ) | (timer_frequency_to_ticks_unsafe(frequency, get_timer2_clock_divider(), get_frequency_divider_scale())) |
Unsafe approximation timer2 frequency corresponding to ticks.
ticks = get_master_clock_frequency() / (2 * get_timer2_clock_divider() * frequency))
Call this method after timer2 is initialized and MCU clock frequency divider scale is set.
This method doesnt analyze corner cases and overflow of result. Be careful.
| frequency | uint32_t frequency value in Hz. Should not be 0; |
| #define timer2_ms_to_ticks_usafe | ( | ms | ) | (timer_ms_to_ticks_usafe(ms, get_timer2_clock_divider())) |
Convert milliseconds to timer2 ticks.
1 ms = ((get_master_clock_frequency_high_part() + 26) >> get_frequency_divider_scale()) / timer_clock_divider
This routine doesnt check overflows. Its unsafe.
| ms | uint16_t ms to convert |
| #define timer2_ticks_to_ms_usafe | ( | ticks | ) | (timer_ticks_to_ms_usafe(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.
| ticks | uint16_t ticks count |
| #define timer2_uint16_ticks_to_freq100 | ( | ticks | ) | (timer_uint16_ticks_to_freq100(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). Multiplication by 100 is used for get frequency value without using float numbers.
Call this method after timer2 is initialized and MCU clock frequency divider scale is set.
| ticks | uint16_t timer ticks count to covert |