Je compte le nombre d'interruptions (pour une temporisation), voila le code:
- Code: Tout sélectionner
//**** ISR : -----------------------------------------------------------------------
//**** Interruptions toutes les 0.02s ----------------------------------------------
ISR(TIMER1_COMPA_vect) // Interruption généré quand TCNT1 = OCR1A
{
interruption++;
TCNT1=0; //Relance le comptage
}
//---- Main : ----------------------------------------------------------------------
//---- Fonction principale ---------------------------------------------------------
int main (void)
{
//Met le port B en sortie
DDRB = 0b11111111;
PORTB = 0;
//Met le port D en sortie
DDRD = 0b01100000;
PORTD = 0;
PIND = 0;
// Initialisation du Timer 1
TCCR1A = 0;
TCCR1B = 0b00000101; //Prédivision par 1024
OCR1A = (0.1*F_CPU)/1024; //0.1 est la durée en seconde avant interruption
TIMSK |= 0b00010000;
sei(); //Valide toutes les interruptions
TCNT1 = 0;
initialiserLCD();
for(;;) //Boucle infinie
{
effacerLCD(0);
lireEntree();
}
return 1;
}
Voila si quelqu'un voit une erreur...


