Page 1 sur 1

Interruptions sur code vision avr

Publié : 26 mai 2008 22:58
par Gui2173
Bonsoir à tous,

Je suis débutant et souhaite programmer une interruption sur front descendant via INT0 (PD2) pour faire fonctionner une maquette mais je ne sais pas du tout comment m'y prendre malgrès avoir longuement cherché des exemples détaillés sur internet.
Il me semble qu'il faut utliser un vecteur d'interruption ainsi que des fonctions spécifiques afin d'activer l'interruption et la définir sur front descendant ; malheureusement je n'y comprends pas grand chose :( un exemple (très) détaillé serait donc le bienvenu.

En vous remerciant d'avance :-D

PS : J'utilise un µC atmega 8535

Publié : 27 mai 2008 21:17
par atmega128
tu peu utilser le wizard de code vision cela aide pas mal pour ce type de fonction
ensuite il faut determiner le type de declenchement sur un état ou sur un front

voici un exemple de code pour l ATmega 8535 (INT0 sur front descendant)


#include <mega8535.h>
#define LED1 PORTB.0

#include <delay.h>
// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here

LED1=!LED1;
}

// Declare your global variables here

void main(void)
{


PORTB=0x00;
DDRB=0xFF;

PORTD=0x00;
DDRD=0x00;
// External Interrupt(s) initialization
GICR|=0xE0;
MCUCR=0x0A;
MCUCSR=0x00;
GIFR=0xE0;


// Global enable interrupts
#asm("sei")

while (1)
{
// Place your code here

};
}

:-D

Publié : 29 mai 2008 18:12
par gui2173
Merci beaucoup pour cette réponse rapide et claire ; je vais enfin pouvoir finir mon projet 8) .

Encore merci à toi atmega128 :-D .