: - AVR -.
, . (interrupt), , , , , . , , (interrupt request IRQ); ; , , , (interrupt handler, interrupt routine).
. . ; , . (trap) (exception ) , , (, . .). (), . .
-. . (, . .). :
- ;
- ;
- ;
- .
.
N N ( N , ). ( ) , . () ( ), ( ) . , . N , .
|
|
(interrupt priority) . , ( ) . . . ; .
, . (maskable), , (nonmaskable), . . () , , . () .
, .
:
- ;
- ;
- .
. . . . , . , () . , . .
. .
, . , . . , , . .
|
|
, . , , . ; , , .
-. . - , () , . . , .
AVR- . (. . 2). ; . . ό . ( ); . . I SREG. AVR - 3 35 . , ATmega8535 21 : 3 18 .
GICR (General Interrupt Control Register) GIFR (General Interrupt Flag Register), -. 7 (INT1) GICR INT1, 6 (INT0) INT0, 5 (INT2) INT2. 7 (INTF1) GIFR INT1, 6 (INTF0) INT0; 5 (INTF2) INT2. GIFR.
INT0 INT1 03 (ISC00, ISC01, ISC10, ISC11) MCUCR. ISC00, ISC01 0, 0 INT0 ; 0, 1 ; 1, 1 ; 1, 0 . ISC10, ISC11 INT1. INT2 6 (ISC2) MCUCSR: 0 ; .
- . , - TIMSK (Timer/Counter Interrupt Mask Register) TIFR (Timer/Counter Interrupt Flag Register). , AVR - , -. , 8- - T/C0 (Timer/Counter0) TCCR0 (Timer/Counter0 Control Register) TCNT0 (Timer/Counter0). 02 (CS00, CS01, CS02) TCCR0 - T/C0: CS00, CS01, CS02 0, 0, 0 - ; 1, 0,
0 TCNT0 ; 0, 1, 0 8- ; 1, 1, 0 64- ; 0, 0,
1 256- ; 1, 0, 1 1024- ; 0, 1, 1 1, 1, 1 . - T/C0 TCNT0.
TIMSK - T/C0 1 (TOIE0); TIFR 1 (TOV0). TOIE0 TCNT0; TOIF0 TCNT0.
|
|
. 26.
;
.org $0000