RTT

Low-level RTT (Real Time Timer) peripheral driver.

void(* rtt_cb_t()

Signature for the alarm callback.

Parameters

arg:Optional argument which is passed to the callback

void rtt_init(void)

Initialize RTT module.

void rtt_set_overflow_cb(rtt.h::rtt_cb_t cb, void * arg)

Set a callback for the counter overflow event.

Parameters

cb:Callback to execute on overflow
arg:Argument passed to the callback

void rtt_clear_overflow_cb(void)

Clear the overflow callback.

uint32_t rtt_get_counter(void)

Get the current RTT counter.

Return values

  • Current value of the RTT counter
void rtt_set_counter(uint32_t counter)

Set the RTT counter to a specified value.

Parameters

counter:The value to set the RTT to.

void rtt_set_alarm(uint32_t alarm, rtt.h::rtt_cb_t cb, void * arg)

Set an alarm for RTT to the specified value.

Parameters

alarm:The value to trigger an alarm when hit
cb:Callback executed when alarm is hit
arg:Argument passed to callback when alarm is hit

uint32_t rtt_get_alarm(void)

Get the value of a set alarm.

If no alarm is set, the return value is arbitrary.

Return values

  • Value the alarm is set to
void rtt_clear_alarm(void)

Clear any set alarm, do nothing if nothing set.

void rtt_poweron(void)

Turn the RTT hardware module on.

void rtt_poweroff(void)

Turn the RTT hardware module off.

RTT_US_TO_TICKS( us)

Convert microseconds to rtt ticks.

1
((uint32_t)((uint64_t)(us) * RTT_FREQUENCY / 1000000UL))

Parameters

us:number of microseconds

Return values

  • rtt ticks
RTT_MS_TO_TICKS( ms)

Convert milliseconds to rtt ticks.

1
( RTT_US_TO_TICKS((ms) * 1000) )

Parameters

ms:number of milliseconds

Return values

  • rtt ticks
RTT_SEC_TO_TICKS( sec)

Convert seconds to rtt ticks.

1
( RTT_MS_TO_TICKS((sec) * 1000) )

Parameters

sec:number of seconds

Return values

  • rtt ticks
RTT_MIN_TO_TICKS( min)

Convert minutes to rtt ticks.

1
( RTT_SEC_TO_TICKS((min) * 60) )

Parameters

min:number of minutes

Return values

  • rtt ticks
RTT_TICKS_TO_US( ticks)

Convert rtt ticks to microseconds.

1
((uint32_t)((uint64_t)(ticks) * 1000000UL / RTT_FREQUENCY))

Parameters

ticks:rtt ticks

Return values

  • number of microseconds
RTT_TICKS_TO_MS( ticks)

Convert rtt ticks to milliseconds.

1
(RTT_TICKS_TO_US(ticks) / 1000)

Parameters

ticks:rtt ticks

Return values

  • number of milliseconds
RTT_TICKS_TO_SEC( ticks)

Convert rtt ticks to seconds.

1
(RTT_TICKS_TO_MS(ticks) / 1000)

Parameters

ticks:rtt ticks

Return values

  • number of seconds
RTT_TICKS_TO_MIN( ticks)

Convert rtt ticks to minutes.

1
(RTT_TICKS_TO_SEC(ticks) / 60)

Parameters

ticks:rtt ticks

Return values

  • number of minutes