English
Language : 

CC2430 Datasheet, PDF (54/212 Pages) Texas Instruments – A True System-on-Chip solution for 2.4 GHz IEEE 802.15.4 / ZigBee-TM
CC2430
8051 CPU : Interrupts
11.5.2 Interrupt Processing
When an interrupt occurs, the CPU will vector
to the interrupt vector address as shown in
Table 30. Once an interrupt service has
begun, it can be interrupted only by a higher
priority interrupt. The interrupt service is
terminated by a RETI (return from interrupt
instruction). When an RETI is performed, the
CPU will return to the instruction that would
have been next when the interrupt occurred.
When the interrupt condition occurs, the CPU
will also indicate this by setting an interrupt
flag bit in the interrupt flag registers. This bit is
set regardless of whether the interrupt is
enabled or disabled. If the interrupt is enabled
when an interrupt flag is set, then on the next
instruction cycle the interrupt will be
acknowledged by hardware forcing an LCALL
to the appropriate vector address.
Interrupt response will require a varying
amount of time depending on the state of the
CPU when the interrupt occurs. If the CPU is
performing an interrupt service with equal or
greater priority, the new interrupt will be
pending until it becomes the interrupt with
highest priority. In other cases, the response
time depends on current instruction. The
fastest possible response to an interrupt is
seven machine cycles. This includes one
machine cycle for detecting the interrupt and
six cycles to perform the LCALL.
TCON (0x88) – Interrupt Flags
Bit Name
7 URX1IF
6-
5 ADCIF
4-
3 URX0IF
2 IT1
1 RFERRIF
0 IT0
Reset R/W
0
R/W
H0
0
R/W
0
R/W
H0
0
R/W
0
R/W
H0
1
R/W
0
R/W
H0
1
R/W
Description
URX1IF – USART1 RX interrupt flag. Set to 1 when USART1 RX
interrupt occurs and cleared when CPU vectors to the interrupt
service routine.
0 Interrupt not pending
1 Interrupt pending
Not used
ADCIF – ADC interrupt flag. Set to 1 when ADC interrupt occurs
and cleared when CPU vectors to the interrupt service routine.
0 Interrupt not pending
1 Interrupt pending
Not used
URX0IF – USART0 RX interrupt flag. Set to 1 when USART0
interrupt occurs and cleared when CPU vectors to the interrupt
service routine.
0 Interrupt not pending
1 Interrupt pending
Reserved. Must always be set to 1. Setting a zero will enable low
level interrupt detection, which is almost always the case (one-shot
when interrupt request is initiated)
RFERRIF – RF TX/RX FIFO interrupt flag. Set to 1 when RFERR
interrupt occurs and cleared when CPU vectors to the interrupt
service routine.
0 Interrupt not pending
1 Interrupt pending
Reserved. Must always be set to 1. Setting a zero will enable low
level interrupt detection, which is almost always the case (one-shot
when interrupt request is initiated)
CC2430 Data Sheet (rev. 2.1) SWRS036F
Page 54 of 211