This is the documentation for the latest (master) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

DAC

Overview

The DAC API provides access to Digital-to-Analog Converter (DAC) devices.

Configuration Options

Related configuration options:

API Reference

group dac_interface

DAC driver APIs.

Functions

int dac_channel_setup(const struct device *dev, const struct dac_channel_cfg *channel_cfg)

Configure a DAC channel.

It is required to call this function and configure each channel before it is selected for a write request.

Parameters
  • dev: Pointer to the device structure for the driver instance.

  • channel_cfg: Channel configuration.

Return Value
  • 0: On success.

  • -EINVAL: If a parameter with an invalid value has been provided.

  • -ENOTSUP: If the requested resolution is not supported.

int dac_write_value(const struct device *dev, uint8_t channel, uint32_t value)

Write a single value to a DAC channel.

Parameters
  • dev: Pointer to the device structure for the driver instance.

  • channel: Number of the channel to be used.

  • value: Data to be written to DAC output registers.

Return Value
  • 0: On success.

  • -EINVAL: If a parameter with an invalid value has been provided.

struct dac_channel_cfg
#include <dac.h>

Structure for specifying the configuration of a DAC channel.

Parameters
  • channel_id: Channel identifier of the DAC that should be configured.

  • resolution: Desired resolution of the DAC (depends on device capabilities).