Projet

Général

Profil

« Précédent | Suivant » 

Révision 251

Ajouté par anfichot1 il y a plus de 6 ans

piste bleue et verte réussie (mais pas optimiser au meilleur)

Voir les différences:

branch/fichot/Emb_App/programme_principal_etud.c
// correspondant au nom du v?hicule si le nom se termine par '*'
int k=2;
int k=4;
int k2=1;
int vitesse = 10;
int vitesse = 30;
......
vit_roue.data.rtr=0;
vit_roue.data.val=vitesse;
snd_dtq (CanTx,vit_roue.msg);
dly_tsk(100);
}
void asserv_tourelle()
......
{
CanFrame comm;
CanFrame req, reponse;
unsigned short consigne = 770;
unsigned short consigne = 715;
unsigned short distance;
short rot;
while(1){
req.data.id = 'U';
req.data.rtr = 1;
req.data.id = 'U';
req.data.rtr = 1;
snd_dtq(CanTx, req.msg);
periph[ADDR('U')].val;
distance = periph[ADDR('U')].val; //r?ponse de distance
comm.data.id = 'D';
comm.data.rtr = 0;
comm.data.val = k2*(distance-consigne);
snd_dtq(CanTx, comm.msg);
dly_tsk(100);
snd_dtq(CanTx, req.msg);
periph[ADDR('U')].val;
distance = periph[ADDR('U')].val;
rot = k2*(distance-consigne);
if (distance <= 1000 && distance >= 400 )
{
comm.data.id='D'; comm.data.rtr=0; comm.data.val=rot;
snd_dtq (CanTx,comm.msg);
}
else
{
comm.data.id='D'; comm.data.rtr=0; comm.data.val=0;
snd_dtq (CanTx,comm.msg);
}
dly_tsk(20);
}
}
......
sta_cyc(ID_acqui);
sta_tsk(ID_periph_rx);
sta_tsk(ID_asserv_tourelle);
dly_tsk(1000);
sta_tsk(ID_asserv2);
dly_tsk(2000);
while(1){

Formats disponibles : Unified diff