int main(int argc, char** argv) { Init_All(0); while (1) // boucle principale { PWM_Moteurs((speed+diff)/2,(speed-diff)/2); } }
// 5 ms void __attribute__((interrupt,auto_psv)) _T2Interrupt(void) { // compteurs QEI gauche et droit static int tics_g, tics_d; // commandes gauches et droite static float commande_g, commande_d; // récupération des données des compteurs qei gauche et droit tics_g = (int)POS1CNT; tics_d = (int)POS2CNT; // effectuer un pas de déplacement motion_step(tics_g,tics_d, &commande_g, &commande_d); // mettre ici les pwm gauche et droit PWM_Moteurs(commande_g, commande_d); _T2IF = 0; // on baisse le flag }