Révision 217
Ajouté par stpouotong il y a plus de 6 ans
trunk/tp_info6/Emb_App/programme_principal_etud.c | ||
---|---|---|
/*short vit;
|
||
short cmd_dist;*/
|
||
short D;
|
||
|
||
void tri (void)
|
||
{
|
||
CanFrame m;
|
||
|
||
while(1)
|
||
{
|
||
rcv_dtq(CanRx, &m.msg); //Attente et lecture de la reponse
|
||
switch(m.data.id){
|
||
case 'T' : //Tourelle
|
||
alpha = m.data.val;
|
||
break;
|
||
|
||
case 'U' : //Tourelle
|
||
D = m.data.val;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
void cmd_tourelle() //commande en vitesse de la tourelle
|
||
{
|
||
... | ... | |
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
|
||
void cmd_roue() //commande position des roues
|
||
void cmd_roue(short angle_roue) //commande angle des roues
|
||
{
|
||
CanFrame comm;
|
||
|
||
comm.data.id = 'D';
|
||
comm.data.rtr = 0; //Indique une ecriture
|
||
comm.data.val = -50;
|
||
comm.data.val = angle_roue;
|
||
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
|
||
... | ... | |
|
||
comm.data.id = 'V';
|
||
comm.data.rtr = 0; //Indique une ecriture
|
||
comm.data.val = 20;
|
||
comm.data.val = 30;
|
||
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
}
|
||
|
||
void Asserv0() //asservissemt de la tourelle
|
||
{
|
||
... | ... | |
erreur = consigne - alpha;
|
||
cmd = erreur*k;
|
||
}
|
||
|
||
/*void Asserv1() //asservissemt de la distance
|
||
{
|
||
short consigne=D;
|
||
short erreur;
|
||
short k=1;
|
||
|
||
erreur = consigne - D;
|
||
cmd_dist = erreur*k;
|
||
}
|
||
*/
|
||
|
||
void main()
|
||
{
|
||
ports_mcu();
|
||
... | ... | |
|
||
sta_cyc(ID_acqui);
|
||
// sta_tsk(ID_periph_rx);
|
||
|
||
while(1)
|
||
{
|
||
LED_J=1;
|
||
dly_tsk(100);
|
||
LED_J=0;
|
||
dly_tsk(100);
|
||
pos_tourelle();distance();
|
||
pos_tourelle();
|
||
distance();
|
||
Asserv0();
|
||
//Asserv1();
|
||
cmd_tourelle();
|
||
/*//cmd_distance();
|
||
vitesse();
|
||
cmd_roue();*/
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
void acqui()
|
Formats disponibles : Unified diff
Fin de séance 2
-tâche vitesse, distance, tri fonctionnelle
-la voiture ne passe le circuit vert