Je suis un cours à distance (MOOC) sur la programmation des microcontrôleurs. Je suis confronté à un programme d'interruption où il y a des temporisations que j'ai pas compris. Ces temporisations sont indiquées aux commentaires.
//AVR/Arduino timer2 interrupt
void setup() {
TCCR2B = 0b00000010; // clk/8
TIMSK2 = 0b00000001; // TOIE2 local
sei() ; // GIE global
}
ISR (TIMER2_OVF_vect) { // Interrupt service rout.
// TOV automatiquement remis à zéro
volatile byte cntpf, cntto;
TCNT2 = 62; // 256-200 --> 100 us
GererEncodeur () ; // 12 us
GererPasAPas () ; // 7 us
if (cntpf++ > 40) { // toutes les 4ms
cntpf = 0;
DoPfm (pfmD,pfmG); // 10us
}
if (cntto++ > 250) { // toutes les 1s
cntto = 0 ;
timout - - ;
if ( timeout == 0 ) {
timout ++ ;
AlarmeTimeout () ;
}
}
}
Merci infiniment.
- Edité par imsanl 23 octobre 2014 à 13:10:43
Interruptions sur AVR328
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.