Datasheet
(INTENSET), and disabled by writing a one to the corresponding bit in the Interrupt Enable Clear register
(INTENCLR).
An interrupt request is generated when the interrupt flag is set and the corresponding interrupt is enabled.
The interrupt request remains active until the interrupt flag is cleared, the interrupt is disabled or the DAC
is reset. See INTFLAG register for details on how to clear interrupt flags.
All interrupt requests from the peripheral are ORed together on system level to generate one combined
interrupt request to the NVIC. The user must read the INTFLAG register to determine which interrupt
condition is present.
Note that interrupts must be globally enabled for interrupt requests to be generated..
Related Links
11.2 Nested Vector Interrupt Controller
35.6.5 Events
The DAC Controller can generate the following output events:
• Data Buffer Empty (EMPTY): Generated when the internal data buffer of the DAC is empty. Refer to
DMA Operation for details.
Writing a '1' to an Event Output bit in the Event Control register (EVCTRL.EMPTYEO) enables the
corresponding output event. Writing a '0' to this bit disables the corresponding output event.
The DAC can take the following action on an input event:
• Start Conversion (START): DATABUF value is transferred into DATA as soon as the DAC is ready
for the next conversion, and then conversion is started. START is considered as asynchronous to
GCLK_DAC thus it is resynchronized in DAC Controller. Refer to 35.6.2.4 Digital to Analog
Conversion for details.
Writing a '1' to an Event Input bit in the Event Control register (EVCTRL.STARTEI) enables the
corresponding action on an input event. Writing a '0' to this bit disables the corresponding action on input
event.
Note: When several events are connected to the DAC Controller, the enabled action will be taken on any
of the incoming events.
By default, DAC Controller detects rising edge events. Falling edge detection can be enabled by writing a
'1' to EVCTRL.INVEIx.
Related Links
24. EVSYS – Event System
35.6.6 Sleep Mode Operation
The generic clock for the DAC is running in idle sleep mode. If the Run In Standby bit in the Control A
register (CTRLA.RUNSTDBY) is one, the DAC output buffer will keep its value in standby sleep mode. If
CTRLA.RUNSTDBY is zero, the DAC output buffer will be disabled in standby sleep mode.
35.6.7 Synchronization
Due to the asynchronicity between main clock domain and the peripheral clock domains, some registers
need to be synchronized when written or read. A register can require:
• Synchronization when written
• Synchronization when read
SAM D21 Family
DAC – Digital-to-Analog Converter
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40001882D-page 964