43.7.22 ADC Control Interrupt Flags Register

Note: Interrupt flags must be cleared and then read back to confirm the clear before exiting the ISR to avoid double interrupts.
Table 43-27. Register Bit Attribute Legend
Symbol Description Symbol Description Symbol Description
R Readable bit HC Cleared by Hardware (Grey cell) Unimplemented
W Writable bit HS Set by Hardware X Bit is unknown at Reset
K Write to clear S Software settable bit
Name: CTLINTFLAG
Offset: 0x104
Reset: 0x00000000
Property: -

Bit 3130292827262524 
          
Access  
Reset  
Bit 2322212019181716 
          
Access  
Reset  
Bit 15141312111098 
     PFFHFULPFFRDYPFFOVFPFFUNF 
Access R/HS/HCR/HS/HCR/W/HSR/W/HS 
Reset 0000 
Bit 76543210 
 VREFRDYVREFUPD     CRRDY 
Access R/W/HS/HCR/W/HSR/HS/HC 
Reset 000 

Bit 11 – PFFHFUL ADC FIFO Half Full Interrupt Flag

This bit is set when the FIFO is at least half full of data to be read. When set, this bit enables this condition to trigger the ADC interrupt if the corresponding bit in CTLINTSET is set. This bit is cleared by hardware when the FIFO output data has been read and there is less than a half full FIFO left to be read.

This bit is NOT reset by software writing a 1 to it, it is only reset by hardware.

Bit 10 – PFFRDY ADC FIFO Data Ready Interrupt Flag

This bit is set when the FIFO has data to be read. When set, this bit enables the trigger of the ADC interrupt if the corresponding bit in CTLINTSET is set.

This bit is cleared by hardware when the FIFO output data in has been read and there is no additional data ready in the FIFO (that is the APB FIFO is empty). This bit is NOT reset by software writing a 1 to it.

Bit 9 – PFFOVF Write Overflow Error in the FIFO

This bit is set by hardware when the FIFO is full and new output data overwrites data to be read. When set, this bit enables this condition to trigger an ADC interrupt if the corresponding bit in CTLINTSET is set.

This bit is reset by software writing a 1 to it.

Bit 8 – PFFUNF Read Underflow Error in the FIFO

This bit is set by hardware when the FIFO is empty. When set, this bit enables the trigger of an ADC interrupt if the corresponding bit in CTLINTSET is set.

This bit is reset by software writing a 1 to it.

Bit 7 – VREFRDY Read-only ADC Voltage Reference Ready Status Bit

Hardware sets and clears this bit according to the status of the ADC Voltage Reference. ADC Conversion Data is valid only after VREFRDY is set by hardware, so the ADC interrupt service routine in charge of data processing should always check first that VREFRDY is set to ensure the data validity. This bit will only be updated to the VREFRDY condition set or cleared when the CTRLA.ENABLE is on. Therefore, once the ISR has verified that VREFRDY=1, it should disable the corresponding interrupt by setting CTLINTENCLR.VREFRDY = 1 to prevent continuous firing of the ISR. Alternately, the software setup routine for the ADC can wait in a while(1) loop, polling VREFRDY until it goes high.

Bit 6 – VREFUPD Voltage Reference Ready Update Interrupt Flag

This bit is set by hardware on both the positive and negative edges of the bit VREFRDY. This means that the hardware will set this bit when the ADC Voltage Reference is ready, but also when it fails, that is on any change. When set, this bit enables the trigger of an ADC interrupt if the corresponding bit in CTLINTSET is set.

This bit is reset by software writing a 1 to it. It is NOT cleared by a software read.

Software must read the value of VREFRDY to ascertain if the ADC analog reference circuits are in order or not when the CPU is servicing the interrupt prompted by VREFUPD. The ADC Voltage Reference analog signals are required to be ready during operation of the ADC. If an ADC Voltage Reference fault is detected, the ADC module must be re-calibrated. Most likely an ADC Reference Voltage fault is caused by a brown-out of the analog Vdd supply.

Hardware sets this bit to zero when CTRLA.ENABLE=0.

Bit 0 – CRRDY Read-only ADCn Ready Status Bit

It is set by hardware when 2WKUPEXP ADCn clocks have elapsed after software setting CTRLD.ANLENn to one. It is cleared by hardware when CTRLD.ANLENn is de-asserted (but does NOT depend on CTRLD.CHNENn). When set, this bit enables the trigger of an ADC interrupt if the corresponding bit in CTLINTSET is set.

It is NOT cleared after a software read.

Note: Since this bit cannot be cleared except by setting CTRLD.ANLENn to zero, which would then disable the analog and bias circuitry for ADCn, the ISR that services CRRDYn firing should then disable the interrupt by setting CTLINTENCLR.CRRDYn = 1.
Note: These bits are only cleared when the Analog Channel is disabled.