Projet

Général

Profil

« Précédent | Suivant » 

Révision 42

Ajouté par axfont il y a plus de 6 ans

dernière modification

Voir les différences:

branch/font/Emb_App/programme_principal_etud.c
// correspondant au nom du v?hicule si le nom se termine par '*'
unsigned int alpha;
unsigned int d;
unsigned int k = 1;
unsigned short pot;
void lecture_telemetre(){
CanFrame reponsed, requeted;
//Lecture distance mesur?e
requeted.data.id = 'U';
requeted.data.rtr = 1;
snd_dtq(CanTx, requeted.msg);
void asserv() {
rcv_dtq(CanRx, &reponsed.msg);
d = reponsed.data.val;
}
void tsk_asserv1(){
CanFrame comm, reponse, requete, m;
CanFrame comm, reponse, requete;
//Contr?le vitesse de rotation de la tourelle
comm.data.id = 'T';
comm.data.rtr = 0;
//asservissement en vitesse
comm.data.val = k * (ad00 - alpha);
//Contr?le vitesse de rotation de la tourelle
comm.data.id = 'T';
comm.data.rtr = 0;
//asservissement en vitesse
comm.data.val = k * (900 - alpha);
snd_dtq(CanTx, comm.msg);
snd_dtq(CanTx, comm.msg);
//Lecture de la position
requete.data.id = 'R';
requete.data.rtr = 1;
snd_dtq(CanTx, requete.msg);
rcv_dtq(CanRx, &reponse.msg);
alpha = reponse.data.val;
//Lecture de la position
requete.data.id = 'R';
requete.data.rtr = 1;
snd_dtq(CanTx, requete.msg);
rcv_dtq(CanRx, &reponse.msg);
//if (reponse.data.id == 'R'){
alpha = reponse.data.val;
//}
//d?marrage de la voiture
/*comm.data.id = 'V';
comm.data.rtr = 0;
comm.data.val = 120;
snd_dtq(CanTx, comm.msg);*/
}
void main()
{
{
ports_mcu();
lcd_init();
periph_init();
......
while(1)
{
asserv();
sta_tsk(ID_tsk_asserv1);
}
}
branch/font/Emb_App/conf_noyau.cfg
exinf = 0x0;
};
task[]{
entry_address = tsk_asserv1();
name = ID_tsk_asserv1;
stack_size = 512;
stack_section = stack;
priority = 4;
initial_start = OFF;
exinf = 0x0;
};
flag[]{
name = ev_bus_fin_tr;
initial_pattern = 0x0000;

Formats disponibles : Unified diff