BURTCEMLIB
Detailed 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 | 
         Macros | 
       |
| #define | BURTC_INIT_DEFAULT | 
| #define | burtcClkDiv_1 1 | 
| #define | burtcClkDiv_128 128 | 
| #define | burtcClkDiv_16 16 | 
| #define | burtcClkDiv_2 2 | 
| #define | burtcClkDiv_32 32 | 
| #define | burtcClkDiv_4 4 | 
| #define | burtcClkDiv_64 64 | 
| #define | burtcClkDiv_8 8 | 
         Functions | 
       |
| uint32_t | BURTC_ClockFreqGet (void) | 
| uint32_t | BURTC_CompareGet (unsigned int comp) | 
| 
         Get the BURTC compare value.
          | 
       |
| void | BURTC_CompareSet (unsigned int comp, uint32_t value) | 
| 
         Set BURTC compare channel.
          | 
       |
| __STATIC_INLINE uint32_t | BURTC_CounterGet (void) | 
| 
         Get BURTC counter.
          | 
       |
| void | BURTC_CounterReset (void) | 
| 
         Reset counter.
          | 
       |
| void | BURTC_Enable (bool enable) | 
| 
         Enable or Disable BURTC peripheral.
          | 
       |
| void | BURTC_Init (const BURTC_Init_TypeDef *burtcInit) | 
| 
         Initialize BURTC.
          | 
       |
| __STATIC_INLINE void | BURTC_IntClear (uint32_t flags) | 
| 
         Clear one or more pending BURTC interrupts.
          | 
       |
| __STATIC_INLINE void | BURTC_IntDisable (uint32_t flags) | 
| 
         Disable one or more BURTC interrupts.
          | 
       |
| __STATIC_INLINE void | BURTC_IntEnable (uint32_t flags) | 
| 
         Enable one or more BURTC interrupts.
          | 
       |
| __STATIC_INLINE uint32_t | BURTC_IntGet (void) | 
| 
         Get pending BURTC interrupt flags.
          | 
       |
| __STATIC_INLINE uint32_t | BURTC_IntGetEnabled (void) | 
| 
         Get enabled and pending BURTC interrupt flags.
          | 
       |
| __STATIC_INLINE void | BURTC_IntSet (uint32_t flags) | 
| 
         Set one or more pending BURTC interrupts from SW.
          | 
       |
| __STATIC_INLINE void | BURTC_Lock (void) | 
| 
         Lock BURTC registers, will protect from writing new config settings.
          | 
       |
| void | BURTC_Reset (void) | 
| 
         Restore BURTC to reset state.
          | 
       |
| __STATIC_INLINE void | BURTC_Start (void) | 
| 
         Start BURTC counter.
          | 
       |
| __STATIC_INLINE uint32_t | BURTC_Status (void) | 
| 
         Status of BURTC RAM, timestamp and LP Mode.
          | 
       |
| __STATIC_INLINE void | BURTC_Stop (void) | 
| 
         Stop the BURTC counter.
          | 
       |
| __STATIC_INLINE void | BURTC_SyncWait (void) | 
| 
         Wait for the BURTC to complete all synchronization of register changes and commands.
          | 
       |
| __STATIC_INLINE void | BURTC_Unlock (void) | 
| 
         Unlock BURTC registers, enable write access to change configuration.
          | 
       |
Macro Definition Documentation
| #define BURTC_INIT_DEFAULT | 
Default configuration for BURTC init structure
        Definition at line
        
         156
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_1 1 | 
BURTC clock divisors. These values are valid for the BURTC prescaler. Divide clock by 1.
        Definition at line
        
         61
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_128 128 | 
Divide clock by 128.
        Definition at line
        
         68
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_16 16 | 
Divide clock by 16.
        Definition at line
        
         65
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_2 2 | 
Divide clock by 2.
        Definition at line
        
         62
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_32 32 | 
Divide clock by 32.
        Definition at line
        
         66
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_4 4 | 
Divide clock by 4.
        Definition at line
        
         63
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_64 64 | 
Divide clock by 64.
        Definition at line
        
         67
        
        of file
        
         em_burtc.h
        
        .
       
| #define burtcClkDiv_8 8 | 
Divide clock by 8.
        Definition at line
        
         64
        
        of file
        
         em_burtc.h
        
        .
       
Function Documentation
| uint32_t BURTC_CompareGet | ( | unsigned int | 
           
            comp
           
           | 
          ) | 
Get the BURTC compare value.
- Parameters
 - 
         
[in] compCompare the channel index value, must be 0 for Giant/Leopard Gecko.  
- Returns
 - The currently configured value for this compare channel.
 
        Definition at line
        
         301
        
        of file
        
         em_burtc.c
        
        .
       
References BURTC .
| void BURTC_CompareSet | ( | unsigned int | 
           
            comp,
           
           | 
         
| uint32_t | 
           
            value
           
           | 
         ||
| ) | 
Set BURTC compare channel.
- Parameters
 - 
         
[in] compCompare the channel index, must be 0 for current devices. [in] valueNew compare value.  
        Definition at line
        
         271
        
        of file
        
         em_burtc.c
        
        .
       
References BURTC , and BURTC_SYNCBUSY_COMP .
| __STATIC_INLINE uint32_t BURTC_CounterGet | ( | void | 
           
           
           | 
          ) | 
Get BURTC counter.
- Returns
 - BURTC counter value
 
        Definition at line
        
         373
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| void BURTC_Enable | ( | bool | 
           
            enable
           
           | 
          ) | 
Enable or Disable BURTC peripheral.
- Parameters
 - 
         
[in] enabletrue to enable, false to disable.  
        Definition at line
        
         224
        
        of file
        
         em_burtc.c
        
        .
       
References BURTC , BURTC_EN_EN , BURTC_Stop() , BURTC_SYNCBUSY_EN , and BURTC_SyncWait() .
Referenced by BURTC_Init() .
| void BURTC_Init | ( | const BURTC_Init_TypeDef * | 
           
            burtcInit
           
           | 
          ) | 
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] burtcInitA pointer to the BURTC initialization structure.  
        Definition at line
        
         129
        
        of file
        
         em_burtc.c
        
        .
       
References _BURTC_CFG_CNTPRESC_SHIFT , _BURTC_CFG_COMPTOP_SHIFT , _BURTC_CFG_DEBUGRUN_SHIFT , _BURTC_EM4WUEN_COMPEM4WUEN_SHIFT , _BURTC_EM4WUEN_OFEM4WUEN_SHIFT , BURTC , BURTC_EN_EN , BURTC_Enable() , BURTC_IntClear() , BURTC_Start() , BURTC_SYNCBUSY_EN , BURTC_SyncWait() , BURTC_Init_TypeDef::clkDiv , BURTC_Init_TypeDef::compare0Top , BURTC_Init_TypeDef::debugRun , BURTC_Init_TypeDef::em4comp , BURTC_Init_TypeDef::em4overflow , and BURTC_Init_TypeDef::start .
| __STATIC_INLINE void BURTC_IntClear | ( | uint32_t | 
           
            flags
           
           | 
          ) | 
Clear one or more pending BURTC interrupts.
- Parameters
 - 
         
[in] flagsBURTC 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).  
        Definition at line
        
         180
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
Referenced by BURTC_Init() .
| __STATIC_INLINE void BURTC_IntDisable | ( | uint32_t | 
           
            flags
           
           | 
          ) | 
Disable one or more BURTC interrupts.
- Parameters
 - 
         
[in] flagsBURTC 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).  
        Definition at line
        
         198
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| __STATIC_INLINE void BURTC_IntEnable | ( | uint32_t | 
           
            flags
           
           | 
          ) | 
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] flagsBURTC 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).  
        Definition at line
        
         221
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| __STATIC_INLINE uint32_t BURTC_IntGet | ( | void | 
           
           
           | 
          ) | 
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).
 
        Definition at line
        
         241
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| __STATIC_INLINE uint32_t BURTC_IntGetEnabled | ( | void | 
           
           
           | 
          ) | 
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).
 
        Definition at line
        
         258
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| __STATIC_INLINE void BURTC_IntSet | ( | uint32_t | 
           
            flags
           
           | 
          ) | 
Set one or more pending BURTC interrupts from SW.
- Parameters
 - 
         
[in] flagsBURTC 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).  
        Definition at line
        
         278
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| 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.
 
        Definition at line
        
         337
        
        of file
        
         em_burtc.c
        
        .
       
References _BURTC_CFG_RESETVALUE , _BURTC_EM4WUEN_RESETVALUE , _BURTC_IEN_RESETVALUE , _BURTC_IF_MASK , BURTC , BURTC_EN_EN , BURTC_Stop() , BURTC_SyncWait() , BUS_RegBitRead() , and BUS_RegBitWrite() .
| __STATIC_INLINE void BURTC_Start | ( | void | 
           
           
           | 
          ) | 
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.
 
        Definition at line
        
         341
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC , BURTC_CMD_START , and BURTC_SyncWait() .
Referenced by BURTC_CounterReset() , and BURTC_Init() .
| __STATIC_INLINE uint32_t BURTC_Status | ( | void | 
           
           
           | 
          ) | 
Status of BURTC RAM, timestamp and LP Mode.
- Returns
 - A mask logially OR-ed status bits
 
        Definition at line
        
         293
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC .
| __STATIC_INLINE void BURTC_Stop | ( | void | 
           
           
           | 
          ) | 
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.
 
        Definition at line
        
         360
        
        of file
        
         em_burtc.h
        
        .
       
References BURTC , BURTC_CMD_STOP , and BURTC_SyncWait() .
Referenced by BURTC_CounterReset() , BURTC_Enable() , and BURTC_Reset() .