Backup Real Time Counter (BURTC) Peripheral API.
This module contains functions to control the BURTC peripheral of Silicon Labs 32-bit MCUs. The Backup Real Time Counter allows timekeeping in all energy modes. The Backup RTC is also available when the system is in backup mode.
|
void | BURTC_IntClear (uint32_t flags) |
| Clear one or more pending BURTC interrupts.
|
|
void | BURTC_IntDisable (uint32_t flags) |
| Disable one or more BURTC interrupts.
|
|
void | BURTC_IntEnable (uint32_t flags) |
| Enable one or more BURTC interrupts.
|
|
uint32_t | BURTC_IntGet (void) |
| Get pending BURTC interrupt flags.
|
|
uint32_t | BURTC_IntGetEnabled (void) |
| Get enabled and pending BURTC interrupt flags.
|
|
void | BURTC_IntSet (uint32_t flags) |
| Set one or more pending BURTC interrupts from SW.
|
|
uint32_t | BURTC_Status (void) |
| Status of BURTC RAM, timestamp and LP Mode.
|
|
void | BURTC_SyncWait (void) |
| Wait for the BURTC to complete all synchronization of register changes and commands.
|
|
void | BURTC_Start (void) |
| Start BURTC counter.
|
|
void | BURTC_Stop (void) |
| Stop the BURTC counter.
|
|
uint32_t | BURTC_CounterGet (void) |
| Get BURTC counter.
|
|
void | BURTC_Lock (void) |
| Lock BURTC registers, will protect from writing new config settings.
|
|
void | BURTC_Unlock (void) |
| Unlock BURTC registers, enable write access to change configuration.
|
|
void | BURTC_Reset (void) |
| Restore BURTC to reset state.
|
|
void | BURTC_Init (const BURTC_Init_TypeDef *burtcInit) |
| Initialize BURTC.
|
|
void | BURTC_Enable (bool enable) |
| Enable or Disable BURTC peripheral.
|
|
void | BURTC_CounterReset (void) |
| Reset counter.
|
|
void | BURTC_CompareSet (unsigned int comp, uint32_t value) |
| Set BURTC compare channel.
|
|
uint32_t | BURTC_CompareGet (unsigned int comp) |
| Get the BURTC compare value.
|
|
◆ BURTC_IntClear()
void BURTC_IntClear |
( |
uint32_t |
flags | ) |
|
|
inline |
Clear one or more pending BURTC interrupts.
- Parameters
-
[in] | flags | BURTC interrupt sources to clear. Use a set of interrupt flags OR-ed together to clear multiple interrupt sources for the BURTC module (BURTC_IFS_nnn). |
◆ BURTC_IntDisable()
void BURTC_IntDisable |
( |
uint32_t |
flags | ) |
|
|
inline |
Disable one or more BURTC interrupts.
- Parameters
-
[in] | flags | BURTC interrupt sources to disable. Use a set of interrupt flags OR-ed together to disable multiple interrupt sources for the BURTC module (BURTC_IFS_nnn). |
◆ BURTC_IntEnable()
void BURTC_IntEnable |
( |
uint32_t |
flags | ) |
|
|
inline |
Enable one or more BURTC interrupts.
- Note
- Depending on use, a pending interrupt may already be set prior to enabling the interrupt. Consider using BURTC_IntClear() prior to enabling if a pending interrupt should be ignored.
- Parameters
-
[in] | flags | BURTC interrupt sources to enable. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the BURTC module (BURTC_IFS_nnn). |
◆ BURTC_IntGet()
uint32_t BURTC_IntGet |
( |
void |
| ) |
|
|
inline |
Get pending BURTC interrupt flags.
- Note
- This function does not clear the event bits.
- Returns
- Pending BURTC interrupt sources. Returns a set of interrupt flags OR-ed together for multiple interrupt sources in the BURTC module (BURTC_IFS_nnn).
◆ BURTC_IntGetEnabled()
uint32_t BURTC_IntGetEnabled |
( |
void |
| ) |
|
|
inline |
Get enabled and pending BURTC interrupt flags.
- Note
- The event bits are not cleared by the use of this function.
- Returns
- Pending BURTC interrupt sources that is also enabled. Returns a set of interrupt flags OR-ed together for multiple interrupt sources in the BURTC module (BURTC_IFS_nnn).
◆ BURTC_IntSet()
void BURTC_IntSet |
( |
uint32_t |
flags | ) |
|
|
inline |
Set one or more pending BURTC interrupts from SW.
- Parameters
-
[in] | flags | BURTC interrupt sources to set to pending. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the BURTC module (BURTC_IFS_nnn). |
◆ BURTC_Status()
uint32_t BURTC_Status |
( |
void |
| ) |
|
|
inline |
Status of BURTC RAM, timestamp and LP Mode.
- Returns
- A mask logially OR-ed status bits
◆ BURTC_SyncWait()
void BURTC_SyncWait |
( |
void |
| ) |
|
|
inline |
Wait for the BURTC to complete all synchronization of register changes and commands.
◆ BURTC_Start()
void BURTC_Start |
( |
void |
| ) |
|
|
inline |
Start BURTC counter.
This function will send a start command to the BURTC peripheral. The BURTC peripheral will use some LF clock ticks before the command is executed. The BURTC_SyncWait() function can be used to wait for the start command to be executed.
- Note
- This function requires the BURTC to be enabled.
◆ BURTC_Stop()
Stop the BURTC counter.
This function will send a stop command to the BURTC peripheral. The BURTC peripheral will use some LF clock ticks before the command is executed. The BURTC_SyncWait() function can be used to wait for the stop command to be executed.
- Note
- This function requires the BURTC to be enabled.
◆ BURTC_CounterGet()
uint32_t BURTC_CounterGet |
( |
void |
| ) |
|
|
inline |
Get BURTC counter.
- Returns
- BURTC counter value
◆ BURTC_Lock()
Lock BURTC registers, will protect from writing new config settings.
◆ BURTC_Unlock()
void BURTC_Unlock |
( |
void |
| ) |
|
|
inline |
Unlock BURTC registers, enable write access to change configuration.
◆ BURTC_Reset()
void BURTC_Reset |
( |
void |
| ) |
|
Restore BURTC to reset state.
- Note
- Before accessing the BURTC, BURSTEN in RMU->CTRL must be cleared. LOCK will not be reset to default value, as this will disable access to core BURTC registers.
◆ BURTC_Init()
Initialize BURTC.
Configures the BURTC peripheral.
- Note
- Before initialization, BURTC module must first be enabled by clearing the reset bit in the RMU, i.e.,
* RMU_ResetControl(rmuResetBU, rmuResetModeClear);
*
Compare channel 0 must be configured outside this function, before initialization if enable is set to true. The counter will always be reset.
- Parameters
-
[in] | burtcInit | A pointer to the BURTC initialization structure. |
◆ BURTC_Enable()
void BURTC_Enable |
( |
bool |
enable | ) |
|
Enable or Disable BURTC peripheral.
- Parameters
-
[in] | enable | true to enable, false to disable. |
◆ BURTC_CounterReset()
void BURTC_CounterReset |
( |
void |
| ) |
|
◆ BURTC_CompareSet()
void BURTC_CompareSet |
( |
unsigned int |
comp, |
|
|
uint32_t |
value |
|
) |
| |
Set BURTC compare channel.
- Parameters
-
[in] | comp | Compare the channel index, must be 0 for current devices. |
[in] | value | New compare value. |
◆ BURTC_CompareGet()
uint32_t BURTC_CompareGet |
( |
unsigned int |
comp | ) |
|
Get the BURTC compare value.
- Parameters
-
[in] | comp | Compare the channel index value, must be 0 for Giant/Leopard Gecko. |
- Returns
- The currently configured value for this compare channel.
◆ burtcClkDiv_1
BURTC clock divisors.
These values are valid for the BURTC prescaler. Divide clock by 1.
◆ burtcClkDiv_2
◆ burtcClkDiv_4
◆ burtcClkDiv_8
◆ burtcClkDiv_16
#define burtcClkDiv_16 16 |
◆ burtcClkDiv_32
#define burtcClkDiv_32 32 |
◆ burtcClkDiv_64
#define burtcClkDiv_64 64 |
◆ burtcClkDiv_128
#define burtcClkDiv_128 128 |
◆ BURTC_INIT_DEFAULT
#define BURTC_INIT_DEFAULT |
Value: { \
true, \
false, \
1, \
0, \
false, \
false, \
}
Default configuration for BURTC init structure.