Hetpro USBasp V3.0 Guía De Usuario página 45

Tabla de contenido

Publicidad

Guía de Usuario USBasp V3.0| HeTPro
#include <AVR /io.h>
#include <AVR/interrupt.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF;
DDRD = 0x00;
DDRC = 0x01;
La librería AVR /interrupt.h es necesiaria se se va a llamar alguna interrupción, se
inicia el programa y se declara el DDRB como salida, el DDRD como entradas y el
primer bit del DDRC como salida, los demás como entradas.
cli();
Esta instrucción sirve para deshabilitar las interrupciones globales, asegurando
que no entre ninguna interrupción por el momento.
MCUCR |= (_BV(ISC00) | _BV(ISC01));
GIFR = _BV(INTF0);
GIMSK |= _BV(INT0);
sei();
Se configura el registro MCUCR activando los bits ISC00 y ISC01 indicandole que
la interrupción será en "rising edge" franco de subida (ver la hoja de datos), se
limpia la bandera de interrupción INT0 en el GIFR, para asegurar que no este
activa, después se activa en el GIMSK el INT0 que es el que habilita la
interrupción, y se escribe el comando sei que habilita las interrupciones globales.
while (1) {
}
}
Aquí es donde el programa se ciclara ya que la condición 1 siempre es cierta. La
idea es que el micro no haga nada, solo va a atender al llamado del vector de
interrupción y ejecutara la función que este en la interrupción, cuando termine se
regresara de nuevo al while.
44

Publicidad

Tabla de contenido
loading

Tabla de contenido