OpenMPTL - ARM Cortex (common)
C++ Microprocessor Template Library
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
mptl::systick< clock_source_type > Class Template Reference

#include <systick.hpp>

Public Types

using resources = typename clock_source_type::resources
 
using irq = mptl::irq::systick
 System Tick Interrupt. More...
 

Static Public Member Functions

static void set_reload (SCB::STRVR::value_type reload)
 
static void enable_counter (void)
 
static void disable_counter (void)
 
static void clear_counter (void)
 
static SCB::STCVR::value_type get_counter (void)
 
static void enable_interrupt (void)
 
static void disable_interrupt (void)
 
static bool get_count_flag (void)
 
static bool get_skew_flag (void)
 
static bool get_no_ref_flag (void)
 
static void enable (void)
 

Static Public Attributes

static constexpr freq_t freq = clock_source_type::freq
 
static constexpr freq_t counter_freq = clock_source_type::counter_freq
 
static constexpr uint32_t reload_value = counter_freq / freq
 
static constexpr uint32_t ps_per_tick = (1000 * 1000 * 1000) / (counter_freq / 1000)
 picoseconds per counter tick More...
 

Member Typedef Documentation

◆ irq

template<typename clock_source_type >
using mptl::systick< clock_source_type >::irq = mptl::irq::systick

◆ resources

template<typename clock_source_type >
using mptl::systick< clock_source_type >::resources = typename clock_source_type::resources

Member Function Documentation

◆ clear_counter()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::clear_counter ( void  )
inlinestatic

◆ disable_counter()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::disable_counter ( void  )
inlinestatic

◆ disable_interrupt()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::disable_interrupt ( void  )
inlinestatic

◆ enable()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::enable ( void  )
inlinestatic

◆ enable_counter()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::enable_counter ( void  )
inlinestatic

◆ enable_interrupt()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::enable_interrupt ( void  )
inlinestatic

◆ get_count_flag()

template<typename clock_source_type >
static bool mptl::systick< clock_source_type >::get_count_flag ( void  )
inlinestatic

◆ get_counter()

template<typename clock_source_type >
static SCB::STCVR::value_type mptl::systick< clock_source_type >::get_counter ( void  )
inlinestatic

◆ get_no_ref_flag()

template<typename clock_source_type >
static bool mptl::systick< clock_source_type >::get_no_ref_flag ( void  )
inlinestatic

◆ get_skew_flag()

template<typename clock_source_type >
static bool mptl::systick< clock_source_type >::get_skew_flag ( void  )
inlinestatic

◆ set_reload()

template<typename clock_source_type >
static void mptl::systick< clock_source_type >::set_reload ( SCB::STRVR::value_type  reload)
inlinestatic

Member Data Documentation

◆ counter_freq

template<typename clock_source_type >
constexpr freq_t mptl::systick< clock_source_type >::counter_freq = clock_source_type::counter_freq
static

◆ freq

template<typename clock_source_type >
constexpr freq_t mptl::systick< clock_source_type >::freq = clock_source_type::freq
static

◆ ps_per_tick

template<typename clock_source_type >
constexpr uint32_t mptl::systick< clock_source_type >::ps_per_tick = (1000 * 1000 * 1000) / (counter_freq / 1000)
static

min: 72MHz, hclk: 13'888 max: 24MHz, hclk/8: 333'333

◆ reload_value

template<typename clock_source_type >
constexpr uint32_t mptl::systick< clock_source_type >::reload_value = counter_freq / freq
static

The documentation for this class was generated from the following file: