Projet

Général

Profil

« Précédent | Suivant » 

Révision 34

Ajouté par codiagne il y a plus de 6 ans

Création d'une fonction qui bloque la tourelle à 45degres

Voir les différences:

branch/diagne/Emb_App/programme_principal_etud.c
//'j'/106/06A : R?cup?ration du r?sultat de dernier code envoy?. 0x77 si aucun code n'a ?t? soumis. <0 si la r?ponse n'est pas
// 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 '*'
// correspondant au nom du v?hicule si le nom se termine par '*'
short alpha;
void Asserv0(void){
CanFrame demande;
CanFrame reponse;
CanFrame comm;
comm.data.id='T';
comm.data.rtr=0;
comm.data.val=450-alpha; // Pour un gain de 1, on regule pour avoir 45degr?s
snd_dtq (CanTx,comm.msg);
demande.data.id='R'; demande.data.rtr=1;
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
alpha=reponse.data.val; // donne la valeur de l'angle
'S'/83/0x53;
}
void main()
{
ports_mcu();
......
can_init();
clavier_init(1);
capture_init();
capture_init();
sta_cyc(ID_acqui);
// sta_tsk(ID_periph_rx);
while(1)
{
{
LED_J=1;
dly_tsk(100);
LED_J=0;
dly_tsk(100);
dly_tsk(100);
Asserv0();
}
}
void acqui()
{
LED_V=!LED_V;
}
}

Formats disponibles : Unified diff