Loading...
Searching...
No Matches
rtt.h File Reference

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

Detailed Description

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

Author
Thomas Eichinger thoma.nosp@m.s.ei.nosp@m.ching.nosp@m.er@f.nosp@m.u-ber.nosp@m.lin..nosp@m.de
Hauke Petersen hauke.nosp@m..pet.nosp@m.ersen.nosp@m.@fu-.nosp@m.berli.nosp@m.n.de

Definition in file rtt.h.

#include <stdint.h>
#include "periph_conf.h"
+ Include dependency graph for rtt.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RTT_FREQUENCY
 The desired frequency for the RTT.
 
#define RTT_MAX_VALUE
 The maximum value for the RTT counter, must be (2^n - 1)
 
#define RTT_MIN_OFFSET   (2U)
 The minimum offset to correctly set an rtt callback.
 
#define RTT_US_TO_TICKS(us)   (RTT_SEC_TO_TICKS(us) / 1000000UL)
 Convert microseconds to rtt ticks.
 
#define RTT_MS_TO_TICKS(ms)   (RTT_SEC_TO_TICKS(ms) / 1000UL)
 Convert milliseconds to rtt ticks.
 
#define RTT_SEC_TO_TICKS(sec)   (sec * RTT_FREQUENCY)
 Convert seconds to rtt ticks.
 
#define RTT_MIN_TO_TICKS(min)   (RTT_SEC_TO_TICKS((min) * 60))
 Convert minutes to rtt ticks.
 
#define RTT_TICKS_TO_US(ticks)   ((uint64_t)(ticks) * 1000000UL / RTT_FREQUENCY)
 Convert rtt ticks to microseconds.
 
#define RTT_TICKS_TO_MS(ticks)   (RTT_TICKS_TO_US(ticks) / 1000)
 Convert rtt ticks to milliseconds.
 
#define RTT_TICKS_TO_SEC(ticks)   (RTT_TICKS_TO_MS(ticks) / 1000)
 Convert rtt ticks to seconds.
 
#define RTT_TICKS_TO_MIN(ticks)   (RTT_TICKS_TO_SEC(ticks) / 60)
 Convert rtt ticks to minutes.
 

Typedefs

typedef void(* rtt_cb_t) (void *arg)
 Signature for the alarm callback.
 

Functions

void rtt_init (void)
 Initialize RTT module.
 
void rtt_set_overflow_cb (rtt_cb_t cb, void *arg)
 Set a callback for the counter overflow event.
 
void rtt_clear_overflow_cb (void)
 Clear the overflow callback.
 
uint32_t rtt_get_counter (void)
 Get the current RTT counter.
 
void rtt_set_counter (uint32_t counter)
 Set the RTT counter to a specified value.
 
void rtt_set_alarm (uint32_t alarm, rtt_cb_t cb, void *arg)
 Set an alarm for RTT to the specified absolute target time.
 
uint32_t rtt_get_alarm (void)
 Get the value of a set alarm.
 
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.