Révision 248
Ajouté par casotty il y a plus de 6 ans
branch/sotty/Emb_App/programme_principal_etud.c | ||
---|---|---|
}
|
||
|
||
void maj_variables(void){
|
||
|
||
//Angle des roues
|
||
distance_mur = distance_telemetre()*sin(3.1415*angle_tourelle/1800.0);
|
||
if(distance_mur > 1200) { //Trou dans le mur
|
||
ang_roue = 0;
|
||
}
|
||
else {
|
||
ang_roue = K_roue*(distance_mur-500);
|
||
}
|
||
}
|
||
|
||
void asserv_roue(VP_INT stacd){
|
||
//Maintient de la voiture au centre de la piste
|
||
while(1){
|
||
//Angle des roues // A enlever de la boucle d'asserv
|
||
distance_mur = distance_telemetre()*sin(3.1415*angle_tourelle/1800.0);
|
||
if(distance_mur > 1200) { //Trou dans le mur
|
||
ang_roue = 0;
|
||
}
|
||
else {
|
||
|
||
ang_roue = K_roue*(distance_mur-500);
|
||
}
|
||
maj_variables();
|
||
|
||
angle_roue(ang_roue);
|
||
|
||
vitesse_roue(vit_roue);
|
||
|
||
dly_tsk(50);
|
||
}
|
||
}
|
||
... | ... | |
req.data.id = id_periph;
|
||
req.data.rtr = 1; // envoie d'une requete de lecture
|
||
periph[ADDR(id_periph)].ev = 0x01; //declenche un evenement quand mise a jour du peripherique id_periph
|
||
//dly_tsk(5);
|
||
|
||
snd_dtq(CanTx, req.msg); // attente de la reponse
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
|
||
periph[ADDR(id_periph)].ev = 0x00;
|
Formats disponibles : Unified diff
Ajout d'une mise à jour des données pour ne faire que l'asservissement dans les fonctions d'asservissement