The ADC can raise the WCOMP flag in the Interrupt and Flag register
(ADCn.INTFLAG) and request an interrupt (WCOMP) when the result of a conversion is above
and/or below certain thresholds. The available modes are:
- The result is under a threshold
- The result is over a threshold
- The result is inside a window (above
a lower threshold, but below the upper one)
- The result is outside a window
(either under the lower or above the upper threshold)
The thresholds are defined by writing to the Window Comparator Threshold
registers (ADCn.WINLT and ADCn.WINHT). Writing to the Window Comparator mode bit field
(WINCM) in the Control E register (ADCn.CTRLE) selects the conditions when the flag is
raised and/or the interrupt is requested.
Assuming the ADC is already configured to run, follow these steps to use the
Window Comparator mode:
- 1.Choose which Window Comparator to use
(see WINCM description in ADCn.CTRLE), and set the required threshold(s) by writing
to ADCn.WINLT and/or ADCn.WINHT.
- 2.Optional: enable the interrupt
request by writing a '1' to the Window Comparator Interrupt Enable bit (WCOMP) in the
Interrupt Control register (ADCn.INTCTRL).
- 3.Enable the Window Comparator and
select a mode by writing a non-zero value to the WINCM bit field in ADCn.CTRLE.
When accumulating multiple samples, the
comparison between the result and the threshold will happen after the last sample was
acquired. Consequently, the flag is only raised once, after taking the last sample of the
accumulation.