Урок 3.3: Обрабатываем внешние сигналы с помощью прерываний

Материал из roboforum.ru Wiki
Версия от 14:47, 2 августа 2008; =DeaD= (обсуждение | вклад) (Новая: <code>#include <avr/io.h> ISR( INT0_vect ) { PORTD |= ( 1 << PD4 ); } ISR( INT1_vect ) { PORTD &=~( 1 << PD4 ); } int main( void ) { DDRD &=~ ( 1 << PD2 ) | ( 1 << PD3 ); P...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

#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;

}