Interruptions sur code vision avr

Pour toutes vos questions sur CodeVision et la programmation en C en général

Modérateur : Modérateur

Gui2173

Interruptions sur code vision avr

Message 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

atmega128

Message 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

gui2173

Message par gui2173 »

Merci beaucoup pour cette réponse rapide et claire ; je vais enfin pouvoir finir mon projet 8) .

Encore merci à toi atmega128 :-D .

Répondre