BURTC - Backup RTC
Description
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.
Data Structures |
|
struct | BURTC_Init_TypeDef |
BURTC initialization structure for Series 0 devices.
|
|
Functions |
|
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_StatusClear (void) |
Clear and reset BURTC status register.
|
|
void | BURTC_SyncWait (void) |
Wait for the BURTC to complete all synchronization of register changes and commands.
|
|
uint32_t | BURTC_CounterGet (void) |
Get BURTC counter.
|
|
uint32_t | BURTC_TimestampGet (void) |
Get BURTC timestamp for entering BU.
|
|
void | BURTC_FreezeEnable (bool enable) |
Freeze register updates until enabled.
|
|
void | BURTC_Powerdown (bool enable) |
Shut down power to rentention register bank.
|
|
void | BURTC_RetRegSet (uint32_t num, uint32_t data) |
Set a value in one of the retention registers.
|
|
uint32_t | BURTC_RetRegGet (uint32_t num) |
Read a value from one of the retention registers.
|
|
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 reset and start counter.
|
|
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.
|
|
uint32_t | BURTC_ClockFreqGet (void) |
Get the clock frequency of the BURTC.
|
|
Macros |
|
#define | burtcClkDiv_1 1 |
BURTC clock divisors.
|
|
#define | burtcClkDiv_2 2 |
Divide clock by 2.
|
|
#define | burtcClkDiv_4 4 |
Divide clock by 4.
|
|
#define | burtcClkDiv_8 8 |
Divide clock by 8.
|
|
#define | burtcClkDiv_16 16 |
Divide clock by 16.
|
|
#define | burtcClkDiv_32 32 |
Divide clock by 32.
|
|
#define | burtcClkDiv_64 64 |
Divide clock by 64.
|
|
#define | burtcClkDiv_128 128 |
Divide clock by 128.
|
|
#define | BURTC_INIT_DEFAULT |
Default configuration for BURTC initialization structure.
|
|
Enumerations |
|
enum |
BURTC_ClkSel_TypeDef
{
burtcClkSelULFRCO = BURTC_CTRL_CLKSEL_ULFRCO, burtcClkSelLFRCO = BURTC_CTRL_CLKSEL_LFRCO, burtcClkSelLFXO = BURTC_CTRL_CLKSEL_LFXO } |
BURTC clock selection.
|
|
enum |
BURTC_Mode_TypeDef
{
burtcModeDisable = BURTC_CTRL_MODE_DISABLE, burtcModeEM2 = BURTC_CTRL_MODE_EM2EN, burtcModeEM3 = BURTC_CTRL_MODE_EM3EN, burtcModeEM4 = BURTC_CTRL_MODE_EM4EN } |
BURTC mode of operation.
|
|
enum |
BURTC_LP_TypeDef
{
burtcLPDisable = BURTC_LPMODE_LPMODE_DISABLE, burtcLPEnable = BURTC_LPMODE_LPMODE_ENABLE, burtcLPBU = BURTC_LPMODE_LPMODE_BUEN } |
BURTC low power mode.
|
|
Function Documentation
◆ BURTC_IntClear()
|
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()
|
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()
|
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()
|
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()
|
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()
|
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()
|
inline |
Status of BURTC RAM, timestamp and LP Mode.
- Returns
- A mask logially OR-ed status bits
◆ BURTC_StatusClear()
|
inline |
Clear and reset BURTC status register.
◆ BURTC_SyncWait()
|
inline |
Wait for the BURTC to complete all synchronization of register changes and commands.
◆ BURTC_CounterGet()
|
inline |
Get BURTC counter.
- Returns
- BURTC counter value
◆ BURTC_TimestampGet()
|
inline |
Get BURTC timestamp for entering BU.
- Returns
- BURTC Time Stamp value
◆ BURTC_FreezeEnable()
|
inline |
Freeze register updates until enabled.
- Parameters
-
[in] enable
If true, registers are not updated until enabled again.
◆ BURTC_Powerdown()
|
inline |
Shut down power to rentention register bank.
- Parameters
-
[in] enable
If true, shuts off power to retention registers.
- Note
- When power rentention is disabled, it cannot be enabled again (until reset).
◆ BURTC_RetRegSet()
|
inline |
Set a value in one of the retention registers.
- Parameters
-
[in] num
Register to set [in] data
Value to put into register
◆ BURTC_RetRegGet()
|
inline |
Read a value from one of the retention registers.
- Parameters
-
[in] num
Retention Register to read
- Returns
- Value of the retention register
◆ BURTC_Lock()
|
inline |
Lock BURTC registers, will protect from writing new config settings.