Révision 67
Ajouté par tibacher il y a plus de 6 ans
branch/bacher/Emb_App/programme_principal_etud.c | ||
---|---|---|
int cons=450; //contient la consigne
|
||
int retour=0; //contient la valeur retourner par le p?riph
|
||
int k=1; //contient le gain du correcteur
|
||
int k2=2;
|
||
int k2=1;
|
||
int valeur=0; //contient la valeur ? envoyer
|
||
int distance=0;
|
||
int cons_roue=700;
|
||
... | ... | |
dly_tsk(5000);
|
||
vit_roue.data.id='V';
|
||
vit_roue.data.rtr=0;
|
||
vit_roue.data.val=40;
|
||
vit_roue.data.val=33;
|
||
snd_dtq (CanTx,vit_roue.msg);
|
||
|
||
}
|
||
... | ... | |
comm.data.val=valeur;
|
||
snd_dtq (CanTx,comm.msg); //on envoie la modification ? effectuer
|
||
if(retour!=cons) valeur=k*(cons-retour);
|
||
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
... | ... | |
snd_dtq(CanTx, req.msg);
|
||
|
||
wai_flg (ev_periph, 0x02, TWF_ANDW, &flag);
|
||
distance=periph[ADDR('U')].val;
|
||
dly_tsk(50);
|
||
if (periph[ADDR('U')].val>1000){
|
||
}
|
||
else {
|
||
distance=periph[ADDR('U')].val;
|
||
}
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
... | ... | |
comm.data.rtr=0;
|
||
comm.data.val=k2*(distance-cons_roue);
|
||
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
|
||
void main()
|
||
{
|
||
|
||
|
||
|
||
{
|
||
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
Formats disponibles : Unified diff
Circuit bleu en 26.37s
vitesse = 33