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_Init
         
         (const
         
          BURTC_Init_TypeDef
         
         *burtcInit) | 
       
        |  | Initialize BURTC. 
 | 
       
        |  | 
       
        | void | BURTC_Enable
         
         (bool enable) | 
       
        |  | Enable or Disable BURTC peripheral. 
 | 
       
        |  | 
       
        | 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. 
 | 
       
        |  | 
       
        | void | BURTC_CounterReset
         
         (void) | 
       
        |  | Reset counter. 
 | 
       
        |  | 
       
        | void | BURTC_Reset
         
         (void) | 
       
        |  | Restore BURTC to reset state. 
 | 
       
        |  | 
       
        | 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. 
 | 
       
        |  | 
      
     
     
     
     
     
     
      
       
        ◆
       
      
      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_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.
        
 
      
     
     
     
      
       
        ◆
       
      
      BURTC_CounterReset()
     
     
      
       
        
         
          | void BURTC_CounterReset | ( | void | 
            | ) |  | 
        
       
       
      
      
     
     
     
      
       
        ◆
       
      
      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_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.
       
       
      
     
     
     
     
      
       
        ◆
       
      
      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.