Урок 3.3: Обрабатываем внешние сигналы с помощью прерываний — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Новая: <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...)
 
 
Строка 1: Строка 1:
<code>#include <avr/io.h>
+
'''interrupt_processing.c''':
 +
<source lang="c">
 +
#include <avr/io.h>
 
ISR( INT0_vect )
 
ISR( INT0_vect )
 
{
 
{
Строка 25: Строка 27:
 
      
 
      
 
   return 0;
 
   return 0;
}</code>
+
}</source>

Текущая версия на 14:48, 2 августа 2008

interrupt_processing.c: <source lang="c">

  1. 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>