Projet

Général

Profil

« Précédent | Suivant » 

Révision 196

Ajouté par ninoisette il y a plus de 6 ans

Fonction asservissement télémètre en place

Voir les différences:

branch/noisette/Emb_App/programme_principal_etud.c
//'I'/73/Ox49 : D?finition du nom du v?hicule. Doit d?buter par le caract?re '#' et entraine le chargement de la configuration de piste
// correspondant au nom du v?hicule si le nom se termine par '*'
unsigned short alpha;
int consigne;
unsigned short k;
int erreur;
void main()
{
......
LED_J=0;
dly_tsk(100);
comm.data.id= 'T';
/*comm.data.id= 'T';
comm.data.rtr=0;
comm.data.val=100;
snd_dtq(CanTx, comm.msg);
dly_tsk(10);
/* comm.data.id= 'T';
comm.data.id= 'T';
comm.data.rtr=0;
comm.data.val=0;
snd_dtq(CanTx, comm.msg);*/
......
rcv_dtq(CanRx, &reponse.msg);
alpha=reponse.data.val;
if (alpha>450) {
if (alpha !=450) {
comm.data.id= 'T';
comm.data.rtr=0;
comm.data.val=-21;
snd_dtq(CanTx, comm.msg);}
if (alpha ==451) {
while(1){
comm.data.id= 'T';
comm.data.rtr=0;
comm.data.val=0;
snd_dtq(CanTx, comm.msg);}
}
}
comm.data.id= 'T';
comm.data.rtr=0;
comm.data.val=asserv(450);
snd_dtq(CanTx, comm.msg);
dly_tsk(10);
}
}
......
LED_V=!LED_V;
}
/*void asserv()
int asserv(consigne)
{
if (alpha != consigne){
erreur= consigne - alpha;
*/
k=1;
erreur = consigne - alpha;
consigne = k*erreur;
return consigne;
}

Formats disponibles : Unified diff