EFM32 Pearl Gecko Software Documentation
efm32pg1-doc-4.2.1
|
Current Digital to Analog Conversion (IDAC) Peripheral API
. More...
Data Structures | |
struct | IDAC_Init_TypeDef |
Macros | |
#define | IDAC_INIT_DEFAULT |
Enumerations | |
enum | IDAC_OutMode_TypeDef { idacOutputAPORT1XCH0 = IDAC_CTRL_APORTOUTSEL_APORT1XCH0, idacOutputAPORT1YCH1 = IDAC_CTRL_APORTOUTSEL_APORT1YCH1, idacOutputAPORT1XCH2 = IDAC_CTRL_APORTOUTSEL_APORT1XCH2, idacOutputAPORT1YCH3 = IDAC_CTRL_APORTOUTSEL_APORT1YCH3, idacOutputAPORT1XCH4 = IDAC_CTRL_APORTOUTSEL_APORT1XCH4, idacOutputAPORT1YCH5 = IDAC_CTRL_APORTOUTSEL_APORT1YCH5, idacOutputAPORT1XCH6 = IDAC_CTRL_APORTOUTSEL_APORT1XCH6, idacOutputAPORT1YCH7 = IDAC_CTRL_APORTOUTSEL_APORT1YCH7, idacOutputAPORT1XCH8 = IDAC_CTRL_APORTOUTSEL_APORT1XCH8, idacOutputAPORT1YCH9 = IDAC_CTRL_APORTOUTSEL_APORT1YCH9, idacOutputAPORT1XCH10 = IDAC_CTRL_APORTOUTSEL_APORT1XCH10, idacOutputAPORT1YCH11 = IDAC_CTRL_APORTOUTSEL_APORT1YCH11, idacOutputAPORT1XCH12 = IDAC_CTRL_APORTOUTSEL_APORT1XCH12, idacOutputAPORT1YCH13 = IDAC_CTRL_APORTOUTSEL_APORT1YCH13, idacOutputAPORT1XCH14 = IDAC_CTRL_APORTOUTSEL_APORT1XCH14, idacOutputAPORT1YCH15 = IDAC_CTRL_APORTOUTSEL_APORT1YCH15, idacOutputAPORT1XCH16 = IDAC_CTRL_APORTOUTSEL_APORT1XCH16, idacOutputAPORT1YCH17 = IDAC_CTRL_APORTOUTSEL_APORT1YCH17, idacOutputAPORT1XCH18 = IDAC_CTRL_APORTOUTSEL_APORT1XCH18, idacOutputAPORT1YCH19 = IDAC_CTRL_APORTOUTSEL_APORT1YCH19, idacOutputAPORT1XCH20 = IDAC_CTRL_APORTOUTSEL_APORT1XCH20, idacOutputAPORT1YCH21 = IDAC_CTRL_APORTOUTSEL_APORT1YCH21, idacOutputAPORT1XCH22 = IDAC_CTRL_APORTOUTSEL_APORT1XCH22, idacOutputAPORT1YCH23 = IDAC_CTRL_APORTOUTSEL_APORT1YCH23, idacOutputAPORT1XCH24 = IDAC_CTRL_APORTOUTSEL_APORT1XCH24, idacOutputAPORT1YCH25 = IDAC_CTRL_APORTOUTSEL_APORT1YCH25, idacOutputAPORT1XCH26 = IDAC_CTRL_APORTOUTSEL_APORT1XCH26, idacOutputAPORT1YCH27 = IDAC_CTRL_APORTOUTSEL_APORT1YCH27, idacOutputAPORT1XCH28 = IDAC_CTRL_APORTOUTSEL_APORT1XCH28, idacOutputAPORT1YCH29 = IDAC_CTRL_APORTOUTSEL_APORT1YCH29, idacOutputAPORT1XCH30 = IDAC_CTRL_APORTOUTSEL_APORT1XCH30, idacOutputAPORT1YCH31 = IDAC_CTRL_APORTOUTSEL_APORT1YCH31 } |
enum | IDAC_PRSSEL_TypeDef { idacPRSSELCh0 = IDAC_CTRL_PRSSEL_PRSCH0, idacPRSSELCh1 = IDAC_CTRL_PRSSEL_PRSCH1, idacPRSSELCh2 = IDAC_CTRL_PRSSEL_PRSCH2, idacPRSSELCh3 = IDAC_CTRL_PRSSEL_PRSCH3, idacPRSSELCh4 = IDAC_CTRL_PRSSEL_PRSCH4, idacPRSSELCh5 = IDAC_CTRL_PRSSEL_PRSCH5, idacPRSSELCh6 = IDAC_CTRL_PRSSEL_PRSCH6, idacPRSSELCh7 = IDAC_CTRL_PRSSEL_PRSCH7, idacPRSSELCh8 = IDAC_CTRL_PRSSEL_PRSCH8, idacPRSSELCh9 = IDAC_CTRL_PRSSEL_PRSCH9, idacPRSSELCh10 = IDAC_CTRL_PRSSEL_PRSCH10, idacPRSSELCh11 = IDAC_CTRL_PRSSEL_PRSCH11 } |
enum | IDAC_Range_TypeDef { idacCurrentRange0 = IDAC_CURPROG_RANGESEL_RANGE0, idacCurrentRange1 = IDAC_CURPROG_RANGESEL_RANGE1, idacCurrentRange2 = IDAC_CURPROG_RANGESEL_RANGE2, idacCurrentRange3 = IDAC_CURPROG_RANGESEL_RANGE3 } |
Functions | |
void | IDAC_Init (IDAC_TypeDef *idac, const IDAC_Init_TypeDef *init) |
Initialize IDAC. More... | |
void | IDAC_Enable (IDAC_TypeDef *idac, bool enable) |
Enable/disable IDAC. More... | |
void | IDAC_Reset (IDAC_TypeDef *idac) |
Reset IDAC to same state as after a HW reset. More... | |
void | IDAC_MinimalOutputTransitionMode (IDAC_TypeDef *idac, bool enable) |
Enable/disable Minimal Output Transition mode. More... | |
void | IDAC_RangeSet (IDAC_TypeDef *idac, const IDAC_Range_TypeDef range) |
Set the current range of the IDAC output. More... | |
void | IDAC_StepSet (IDAC_TypeDef *idac, const uint32_t step) |
Set the current step of the IDAC output. More... | |
void | IDAC_OutEnable (IDAC_TypeDef *idac, bool enable) |
Enable/disable the IDAC OUT pin. More... | |
__STATIC_INLINE void | IDAC_IntClear (IDAC_TypeDef *idac, uint32_t flags) |
Clear one or more pending IDAC interrupts. More... | |
__STATIC_INLINE void | IDAC_IntDisable (IDAC_TypeDef *idac, uint32_t flags) |
Disable one or more IDAC interrupts. More... | |
__STATIC_INLINE void | IDAC_IntEnable (IDAC_TypeDef *idac, uint32_t flags) |
Enable one or more IDAC interrupts. More... | |
__STATIC_INLINE uint32_t | IDAC_IntGet (IDAC_TypeDef *idac) |
Get pending IDAC interrupt flags. More... | |
__STATIC_INLINE uint32_t | IDAC_IntGetEnabled (IDAC_TypeDef *idac) |
Get enabled and pending IDAC interrupt flags. Useful for handling more interrupt sources in the same interrupt handler. More... | |
__STATIC_INLINE void | IDAC_IntSet (IDAC_TypeDef *idac, uint32_t flags) |
Set one or more pending IDAC interrupts from SW. More... | |
#define IDAC_INIT_DEFAULT |
Default config for IDAC init structure.
enum IDAC_OutMode_TypeDef |
Output mode.
enum IDAC_PRSSEL_TypeDef |
Selects which Peripheral Reflex System (PRS) signal to use when PRS is set to control the IDAC output.
enum IDAC_Range_TypeDef |
void IDAC_Init | ( | IDAC_TypeDef * | idac, |
const IDAC_Init_TypeDef * | init | ||
) |
Initializes IDAC according to the initialization structure parameter, and sets the default calibration value stored in the DEVINFO structure.
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | init | Pointer to IDAC initialization structure. |
Definition at line 77 of file em_idac.c.
References IDAC_TypeDef::CTRL, IDAC_Init_TypeDef::enable, IDAC_CTRL_CURSINK, IDAC_CTRL_EN, IDAC_CTRL_OUTENPRS, IDAC_Init_TypeDef::outMode, IDAC_Init_TypeDef::prsEnable, IDAC_Init_TypeDef::prsSel, and IDAC_Init_TypeDef::sinkEnable.
void IDAC_Enable | ( | IDAC_TypeDef * | idac, |
bool | enable | ||
) |
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | enable | true to enable IDAC, false to disable. |
Definition at line 114 of file em_idac.c.
References _IDAC_CTRL_EN_SHIFT, BUS_RegBitWrite(), and IDAC_TypeDef::CTRL.
void IDAC_Reset | ( | IDAC_TypeDef * | idac | ) |
[in] | idac | Pointer to IDAC peripheral register block. |
Definition at line 133 of file em_idac.c.
References _IDAC_CTRL_RESETVALUE, _IDAC_CURPROG_RESETVALUE, _IDAC_CURPROG_STEPSEL_SHIFT, _IDAC_DUTYCONFIG_RESETVALUE, IDAC_TypeDef::CTRL, IDAC_TypeDef::CURPROG, IDAC_TypeDef::DUTYCONFIG, IDAC_CTRL_EN, and IDAC_CURPROG_RANGESEL_RANGE0.
void IDAC_MinimalOutputTransitionMode | ( | IDAC_TypeDef * | idac, |
bool | enable | ||
) |
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | enable | true to enable Minimal Output Transition mode, false to disable. |
Definition at line 172 of file em_idac.c.
References _IDAC_CTRL_MINOUTTRANS_SHIFT, BUS_RegBitWrite(), and IDAC_TypeDef::CTRL.
void IDAC_RangeSet | ( | IDAC_TypeDef * | idac, |
const IDAC_Range_TypeDef | range | ||
) |
This function sets the current range of the IDAC output. The function also updates the IDAC calibration register (IDAC_CAL) with the default calibration value (from DEVINFO, factory setting) corresponding to the specified range.
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | range | Current range value. |
Definition at line 200 of file em_idac.c.
References _DEVINFO_IDAC0CAL0_SOURCERANGE0TUNING_MASK, _DEVINFO_IDAC0CAL0_SOURCERANGE0TUNING_SHIFT, _DEVINFO_IDAC0CAL0_SOURCERANGE1TUNING_MASK, _DEVINFO_IDAC0CAL0_SOURCERANGE1TUNING_SHIFT, _DEVINFO_IDAC0CAL0_SOURCERANGE2TUNING_MASK, _DEVINFO_IDAC0CAL0_SOURCERANGE2TUNING_SHIFT, _DEVINFO_IDAC0CAL0_SOURCERANGE3TUNING_MASK, _DEVINFO_IDAC0CAL0_SOURCERANGE3TUNING_SHIFT, _DEVINFO_IDAC0CAL1_SINKRANGE0TUNING_MASK, _DEVINFO_IDAC0CAL1_SINKRANGE0TUNING_SHIFT, _DEVINFO_IDAC0CAL1_SINKRANGE1TUNING_MASK, _DEVINFO_IDAC0CAL1_SINKRANGE1TUNING_SHIFT, _DEVINFO_IDAC0CAL1_SINKRANGE2TUNING_MASK, _DEVINFO_IDAC0CAL1_SINKRANGE2TUNING_SHIFT, _DEVINFO_IDAC0CAL1_SINKRANGE3TUNING_MASK, _DEVINFO_IDAC0CAL1_SINKRANGE3TUNING_SHIFT, _IDAC_CURPROG_RANGESEL_MASK, _IDAC_CURPROG_RANGESEL_SHIFT, _IDAC_CURPROG_TUNING_MASK, _IDAC_CURPROG_TUNING_SHIFT, IDAC_TypeDef::CTRL, IDAC_TypeDef::CURPROG, DEVINFO, IDAC0, IDAC_CTRL_CURSINK, idacCurrentRange0, idacCurrentRange1, idacCurrentRange2, and idacCurrentRange3.
void IDAC_StepSet | ( | IDAC_TypeDef * | idac, |
const uint32_t | step | ||
) |
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | step | Step value for IDAC output. Valid range is 0-31. |
Definition at line 333 of file em_idac.c.
References _IDAC_CURPROG_STEPSEL_MASK, _IDAC_CURPROG_STEPSEL_SHIFT, and IDAC_TypeDef::CURPROG.
void IDAC_OutEnable | ( | IDAC_TypeDef * | idac, |
bool | enable | ||
) |
[in] | idac | Pointer to IDAC peripheral register block. |
[in] | enable | true to enable the IDAC OUT pin, false to disable. |
Definition at line 357 of file em_idac.c.
References _IDAC_CTRL_OUTEN_SHIFT, BUS_RegBitWrite(), and IDAC_TypeDef::CTRL.
__STATIC_INLINE void IDAC_IntClear | ( | IDAC_TypeDef * | idac, |
uint32_t | flags | ||
) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
[in] | flags | Pending IDAC interrupt source(s) to clear. Use one or more valid interrupt flags for the IDAC module (IDAC_IF_nnn) OR'ed together. |
Definition at line 311 of file em_idac.h.
References IDAC_TypeDef::IFC.
__STATIC_INLINE void IDAC_IntDisable | ( | IDAC_TypeDef * | idac, |
uint32_t | flags | ||
) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
[in] | flags | IDAC interrupt source(s) to disable. Use one or more valid interrupt flags for the IDAC module (IDAC_IF_nnn) OR'ed together. |
Definition at line 328 of file em_idac.h.
References IDAC_TypeDef::IEN.
__STATIC_INLINE void IDAC_IntEnable | ( | IDAC_TypeDef * | idac, |
uint32_t | flags | ||
) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
[in] | flags | IDAC interrupt source(s) to enable. Use one or more valid interrupt flags for the IDAC module (IDAC_IF_nnn) OR'ed together. |
Definition at line 350 of file em_idac.h.
References IDAC_TypeDef::IEN.
__STATIC_INLINE uint32_t IDAC_IntGet | ( | IDAC_TypeDef * | idac | ) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
Definition at line 370 of file em_idac.h.
References IDAC_TypeDef::IF.
__STATIC_INLINE uint32_t IDAC_IntGetEnabled | ( | IDAC_TypeDef * | idac | ) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
Definition at line 395 of file em_idac.h.
References IDAC_TypeDef::IEN, and IDAC_TypeDef::IF.
__STATIC_INLINE void IDAC_IntSet | ( | IDAC_TypeDef * | idac, |
uint32_t | flags | ||
) |
[in] | IDAC | Pointer to IDAC peripheral register block. |
[in] | flags | IDAC interrupt source(s) to set to pending. Use one or more valid interrupt flags for the IDAC module (IDAC_IF_nnn) OR'ed together. |
Definition at line 419 of file em_idac.h.
References IDAC_TypeDef::IFS.