Low-level RTT (Real Time Timer) peripheral driver.
More...
Low-level RTT (Real Time Timer) peripheral driver.
(Low-) Power Implications
After the RTT has been initialized (i.e. after calling rtt_init()), the RTT should be powered on and running. The RTT can then be powered off manually at a later point in time by calling the rtt_poweroff() function. When the RTT is powered back on using the rtt_poweron() function, it should transparently continue its previously configured operation.
On many CPUs, certain power states might need to be blocked in rtt_init(), so that it is ensured that the RTT will function properly while it is enabled.
|
file | rtt.h |
| Low-level RTT (Real Time Timer) peripheral driver interface definitions.
|
|
|
typedef void(* | rtt_cb_t) (void *arg) |
| Signature for the alarm callback. More...
|
|
◆ RTT_MIN_OFFSET
#define RTT_MIN_OFFSET (2U) |
The minimum offset to correctly set an rtt callback.
If the callback is taking into account rtt_get_counter() then the rtt might advance right between the call to rtt_get_counter() and rtt_set_alarm(). If that happens with val==1, the alarm would be set to the current time, which would then underflow. To avoid this, the alarm should be set at least two ticks in the future.
This value can vary depending on the platform.
Definition at line 79 of file rtt.h.
◆ RTT_MIN_TO_TICKS
Convert minutes to rtt ticks.
- Parameters
-
- Returns
- rtt ticks
Definition at line 130 of file rtt.h.
◆ RTT_MS_TO_TICKS
Convert milliseconds to rtt ticks.
- Parameters
-
[in] | ms | number of milliseconds |
- Returns
- rtt ticks
Definition at line 116 of file rtt.h.
◆ RTT_SEC_TO_TICKS
Convert seconds to rtt ticks.
- Parameters
-
- Returns
- rtt ticks
Definition at line 123 of file rtt.h.
◆ RTT_TICKS_TO_MIN
Convert rtt ticks to minutes.
- Parameters
-
- Returns
- number of minutes
Definition at line 158 of file rtt.h.
◆ RTT_TICKS_TO_MS
Convert rtt ticks to milliseconds.
- Parameters
-
- Returns
- number of milliseconds
Definition at line 144 of file rtt.h.
◆ RTT_TICKS_TO_SEC
Convert rtt ticks to seconds.
- Parameters
-
- Returns
- number of seconds
Definition at line 151 of file rtt.h.
◆ RTT_TICKS_TO_US
#define RTT_TICKS_TO_US |
( |
|
ticks | ) |
((uint64_t)(ticks) * 1000000UL / RTT_FREQUENCY) |
Convert rtt ticks to microseconds.
- Parameters
-
- Returns
- number of microseconds
Definition at line 137 of file rtt.h.
◆ RTT_US_TO_TICKS
Convert microseconds to rtt ticks.
- Parameters
-
[in] | us | number of microseconds |
- Returns
- rtt ticks
Definition at line 109 of file rtt.h.
◆ rtt_cb_t
typedef void(* rtt_cb_t) (void *arg) |
Signature for the alarm callback.
- Parameters
-
[in] | arg | Optional argument which is passed to the callback |
Definition at line 166 of file rtt.h.
◆ rtt_get_alarm()
uint32_t rtt_get_alarm |
( |
void |
| ) |
|
Get the value of a set alarm.
If no alarm is set, the return value is arbitrary.
- Returns
- Value the alarm is set to
◆ rtt_get_counter()
uint32_t rtt_get_counter |
( |
void |
| ) |
|
Get the current RTT counter.
- Returns
- Current value of the RTT counter
◆ rtt_set_alarm()
void rtt_set_alarm |
( |
uint32_t |
alarm, |
|
|
rtt_cb_t |
cb, |
|
|
void * |
arg |
|
) |
| |
Set an alarm for RTT to the specified absolute target time.
- Parameters
-
[in] | alarm | The value to trigger an alarm when hit |
[in] | cb | Callback executed when alarm is hit |
[in] | arg | Argument passed to callback when alarm is hit |
◆ rtt_set_counter()
void rtt_set_counter |
( |
uint32_t |
counter | ) |
|
Set the RTT counter to a specified value.
- Parameters
-
[in] | counter | The value to set the RTT to. |
◆ rtt_set_overflow_cb()
void rtt_set_overflow_cb |
( |
rtt_cb_t |
cb, |
|
|
void * |
arg |
|
) |
| |
Set a callback for the counter overflow event.
- Parameters
-
[in] | cb | Callback to execute on overflow |
[in] | arg | Argument passed to the callback |