ADC12_B Operation
886
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
ADC12_B
34.2.14.2 ADC12_B Interrupt Handling Software Example
The following software example shows the recommended use of the ADC12IV and handling overhead.
The ADC12IV value is added to the PC to automatically jump to the appropriate routine.
The software overhead for different interrupt sources includes interrupt latency and return-from-interrupt
cycles, but not the task handling itself, are:
•
ADC12IFG0 through ADC12IFG30, ADC12TOV, ADC12OV, ADC12LO, ADC12HI, ADC12IN,
ADC12RDY: 16 cycles
•
ADC12IFG31: 14 cycles
The interrupt handler for ADC12IFG31 shows a way to check immediately if a higher-prioritized interrupt
occurred during the processing of ADC12IFG31. This saves nine cycles if another ADC12_B interrupt is
pending.
; Interrupt handler for ADC12.
INT_ADC12
; Enter Interrupt Service Routine
ADD
&ADC12IV,PC
; Add offset to PC
RETI
; Vector 0: No interrupt
JMP
ADOV
; Vector 2: ADC overflow
JMP
ADTOV
; Vector 4: ADC timing overflow
JMP
ADHI
; Vector 6: ADC12HIIFG
JMP
ADLO
; Vector 8: ADC12LOIFG
JMP
ADIN
; Vector A: ADC12INIFG
JMP
ADM0
; Vector C: ADC12IFG0
...
; Vectors E-70
JMP
ADM30
; Vector 72: ADC12IFG30
...
JMP
ADRDY
; Vector 76: ADC12RDYIFG
;
; Handler for ADC12IFG31 starts here. No JMP required.
;
;
ADM31
MOV
&ADC12MEM31,xxx
; Move result, flag is reset
...
; Other instruction needed?
JMP
INT_ADC12
; Check other int pending
;
; ADC12IFG30-ADC12IFG1 handlers go here
;
ADM0
MOV
&ADC12MEM0,xxx
; Move result, flag is reset
...
; Other instruction needed?
RETI
; Return;
ADTOV
...
; Handle Conv. time overflow
RETI
; Return;
ADOV
...
; Handle ADC12MEMx overflow
RETI
; Return;
ADHI
...
; Handle window comparator high Interrupt
RETI
; Return;
ADLO
...
; Handle window comparator low Interrupt
RETI
; Return;
ADIN
...
; Handle window comparator in window Interrupt
RETI
; Return;
ADRDY
...
; Handle window comparator in window Interrupt
RETI
; Return;