EFM32 Giant Gecko Software Documentation  efm32gg-doc-5.1.2
em_burtc.h File Reference

Detailed Description

Backup Real Time Counter (BURTC) peripheral API.

Version
5.1.2

License

Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no obligation to support this Software. Silicon Labs is providing the Software "AS IS", with no express or implied warranties of any kind, including, but not limited to, any implied warranties of merchantability or fitness for any particular purpose or warranties against infringement of any proprietary rights of a third party.

Silicon Labs will not be liable for any consequential, incidental, or special damages, or any other relief, or for any claim by any third party, arising from your use of this Software.

Definition in file em_burtc.h.

#include "em_device.h"
#include <stdbool.h>
#include "em_assert.h"
#include "em_bus.h"

Go to the source code of this file.

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
 

Enumerations

enum  BURTC_ClkSel_TypeDef {
  burtcClkSelULFRCO = BURTC_CTRL_CLKSEL_ULFRCO,
  burtcClkSelLFRCO = BURTC_CTRL_CLKSEL_LFRCO,
  burtcClkSelLFXO = BURTC_CTRL_CLKSEL_LFXO
}
 
enum  BURTC_LP_TypeDef {
  burtcLPDisable = BURTC_LPMODE_LPMODE_DISABLE,
  burtcLPEnable = BURTC_LPMODE_LPMODE_ENABLE,
  burtcLPBU = BURTC_LPMODE_LPMODE_BUEN
}
 
enum  BURTC_Mode_TypeDef {
  burtcModeDisable = BURTC_CTRL_MODE_DISABLE,
  burtcModeEM2 = BURTC_CTRL_MODE_EM2EN,
  burtcModeEM3 = BURTC_CTRL_MODE_EM3EN,
  burtcModeEM4 = BURTC_CTRL_MODE_EM4EN
}
 

Functions

uint32_t BURTC_ClockFreqGet (void)
 Get clock frequency of the BURTC. More...
 
uint32_t BURTC_CompareGet (unsigned int comp)
 Get BURTC compare value. More...
 
void BURTC_CompareSet (unsigned int comp, uint32_t value)
 Set BURTC compare channel. More...
 
__STATIC_INLINE uint32_t BURTC_CounterGet (void)
 Get BURTC counter. More...
 
void BURTC_CounterReset (void)
 Reset counter.
 
__STATIC_INLINE void BURTC_Enable (bool enable)
 Enable or Disable BURTC peripheral reset and start counter. More...
 
__STATIC_INLINE void BURTC_FreezeEnable (bool enable)
 Freeze register updates until enabled. More...
 
void BURTC_Init (const BURTC_Init_TypeDef *burtcInit)
 Initialize BURTC. More...
 
__STATIC_INLINE void BURTC_IntClear (uint32_t flags)
 Clear one or more pending BURTC interrupts. More...
 
__STATIC_INLINE void BURTC_IntDisable (uint32_t flags)
 Disable one or more BURTC interrupts. More...
 
__STATIC_INLINE void BURTC_IntEnable (uint32_t flags)
 Enable one or more BURTC interrupts. More...
 
__STATIC_INLINE uint32_t BURTC_IntGet (void)
 Get pending BURTC interrupt flags. More...
 
__STATIC_INLINE uint32_t BURTC_IntGetEnabled (void)
 Get enabled and pending BURTC interrupt flags. More...
 
__STATIC_INLINE void BURTC_IntSet (uint32_t flags)
 Set one or more pending BURTC interrupts from SW. More...
 
__STATIC_INLINE void BURTC_Lock (void)
 Lock BURTC registers, will protect from writing new config settings.
 
__STATIC_INLINE void BURTC_Powerdown (bool enable)
 Shut down power to rentention register bank. More...
 
void BURTC_Reset (void)
 Restore BURTC to reset state. More...
 
__STATIC_INLINE uint32_t BURTC_RetRegGet (uint32_t num)
 Read a value from one of the retention registers. More...
 
__STATIC_INLINE void BURTC_RetRegSet (uint32_t num, uint32_t data)
 Set a value in one of the retention registers. More...
 
__STATIC_INLINE uint32_t BURTC_Status (void)
 Status of BURTC RAM, timestamp and LP Mode. More...
 
__STATIC_INLINE void BURTC_StatusClear (void)
 Clear and reset BURTC status register.
 
__STATIC_INLINE uint32_t BURTC_TimestampGet (void)
 Get BURTC timestamp for entering BU. More...
 
__STATIC_INLINE void BURTC_Unlock (void)
 Unlock BURTC registers, enable write access to change configuration.