Projet

Général

Profil

« Précédent | Suivant » 

Révision 298

Ajouté par jotoribio il y a plus de 6 ans

J'arrive à passer les tonneaux lentement

Voir les différences:

branch/toribio/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff001e
RESET=ff0020
branch/toribio/Emb_App/programme_principal_etud.c
short numcapt=0;
short sauter=0;
short noir=0;
short i=0;
void asserv0(){
while(1){
short k=1; //Gain du correcteur P
......
//lecture de la position de la roue
CanFrame req,comm;
UINT flag;
if ((sauter==0) || (sauter==3)){
if ((sauter==0) && (noir!=1)){
//Commande de l'angle de roue en zone normal
comm.data.id='D';
comm.data.rtr=0; //indique une ?criture
......
snd_dtq(CanTx, comm.msg);
dly_tsk(5);
}
if ((sauter==3) && (noir!=1)){
//Commande de l'angle de roue en zone normal
comm.data.id='D';
comm.data.rtr=0; //indique une ?criture
if (distance>1000);
else comm.data.val=k*(distance-700);
snd_dtq(CanTx, comm.msg);
dly_tsk(5);
}
else if (sauter==2 ){
//Commande de l'angle de roue
......
snd_dtq(CanTx, comm.msg);
dly_tsk(5);
}
else if ((sauter==0) && (noir==1)){
//Commande de l'angle de roue
comm.data.id='D';
comm.data.rtr=0; //indique une ?criture
if (distance<600) comm.data.val=0;
else if (distance>600) {
if (distance>2000);
else comm.data.val=k*(distance-900);
}
snd_dtq(CanTx, comm.msg);
dly_tsk(5);
}
}
}
......
requete.data.val=10;} //pendant le saut
else if ((sauter==3) && (noir==0)){
requete.data.val=20;} //virage
else if ((sauter==0) && (noir==2)){
requete.data.val=20;} //pas de saut
else if ((sauter==0) && (noir==1)){
requete.data.val=10;} //zone des tonneaux
snd_dtq(CanTx, requete.msg);
dly_tsk(5);
}
......
void pistenoire(){
while(1){
if ((numcapt==2) && (virage==22016)){
noir=2; //zone de passage
}
......
sta_tsk(ID_roue);
sta_tsk(ID_zone);
sta_tsk(ID_saut);
// sta_tsk(ID_pistenoire);
sta_tsk(ID_pistenoire);
while(1)
{

Formats disponibles : Unified diff