DAC¶
DAC peripheral driver interface.
Similar to the ADC driver interface (ADC), the DAC interface uses the concept of lines, corresponds to a tuple of a DAC device and a DAC output channel.
The DAC interface expects data to be served as a 16-bit unsigned integer, independent of the actual resolution of the hardware device. It is up to the DAC driver, to scale the given value to the maximal width that can be handled. The device driver should, on the other hand, implement the DAC in a way, that it will use the bit width, that comes closest to 16-bit.
This kind of ‘auto-scaling’ is quite sufficient for this interface, as standard DAC peripherals use a fixed conversion resolution internally anyway, so that any particular bit-width configuration on this driver level would not have much effect…
-
enum
@144
¶ - DAC_OK
= 0
- DAC_NOLINE
= -1
- DAC_OK
-
unsigned int
dac_t
¶ Define default DAC type identifier.
-
int8_t
dac_init
(dac.h::dac_t
line)¶ Initialize the given DAC line.
After initialization, the corresponding DAC line is active and its output is set to 0.
Parameters
line: DAC line to initialize Return values
- DAC_OK on success
- DAC_NOLINE on invalid DAC line
-
void
dac_set
(dac.h::dac_t
line, uint16_t value)¶ Write a value onto DAC Device on a given Channel.
The value is always given as 16-bit value and is internally scaled to the actual resolution that the DAC unit provides (e.g. 12-bit). So to get the maximum output voltage, this function has to be called with
value
set to 65535 (UINT16_MAX).Parameters
line: DAC line to set value: value to set line
to
-
void
dac_poweron
(dac.h::dac_t
line)¶ Enable the given DAC line.
Parameters
line: DAC line to power on
-
void
dac_poweroff
(dac.h::dac_t
line)¶ Disable the given DAC line.
Parameters
line: DAC line to power off
-
DAC_UNDEF
¶ Default DAC undefined value.
1
(UINT_MAX)
-
DAC_LINE
( x)¶ Default DAC access macro.
1
(x)