Урок 3.3: Обрабатываем внешние сигналы с помощью прерываний
interrupt_processing.c: <source lang="c">
- include <avr/io.h>
ISR( INT0_vect ) {
PORTD |= ( 1 << PD4 );
}
ISR( INT1_vect ) {
PORTD &=~( 1 << PD4 );
}
int main( void ) {
DDRD &=~ ( 1 << PD2 ) | ( 1 << PD3 ); PORTD |= ( 1 << PD2 ) | ( 1 << PD3 ) | ( 1 << PD4 ); DDRD |= ( 1 << PD4 ); MCUCR = 0; GICR |= ( 1 << INT0 ) | ( 1 << INT1 ); sei(); while( 1 ); return 0;
}</source>