This is the documentation for the latest (main) 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.

Returns 0

On success.

Returns -EINVAL

If a parameter with an invalid value has been provided.

Returns -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.

Returns 0

On success.

Returns -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.

param channel_id

Channel identifier of the DAC that should be configured.

param resolution

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