Projet

Général

Profil

« Précédent | Suivant » 

Révision 31

Ajouté par anmaincent il y a plus de 6 ans

Première mission réalisé avec succès. La tourelle est bloqué a un angle de 45° et attends le top pour calculer la distance entre la voiture et le bord de la piste.

Voir les différences:

branch/maincent/tp_info6/Emb_App/programme_principal_etud.c
// disponible. 0xab avec a-> nombre de couleurs bien plac?es et b -> couleurs pr?sentes mais mal plac?es.
//'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 '*'
short alpha;
short k=1;
void asserv0(){
CanFrame requete, reponse, comm;
//commande en vitesse de la tourelle
comm.data.id = 'T';
comm.data.rtr = 0; //indique une ecriture
comm.data.val = k*(-450-alpha);
snd_dtq(CanTx, comm.msg);
//position tourelle
requete.data.id='R';
requete.data.rtr=1; //Indique une requ?te de lecture
snd_dtq(CanTx, requete.msg);
rcv_dtq(CanRx, &reponse.msg);
alpha=reponse.data.val;
}
void main()
{
ports_mcu();
......
capture_init();
sta_cyc(ID_acqui);
// sta_tsk(ID_periph_rx);
// sta_tsk(ID_periph_rx);
while(1)
{
LED_J=1;
dly_tsk(100);
LED_J=0;
dly_tsk(100);
{
asserv0();
}
}
void acqui(){
LED_V =! LED_V;
}
//positin de la tourrelle
void acqui()
{
LED_V=!LED_V;
}

Formats disponibles : Unified diff