Projet

Général

Profil

« Précédent | Suivant » 

Révision 328

Ajouté par khmbaye il y a plus de 6 ans

Apporter des corrections pour la piste bleue

Voir les différences:

branch/mbaye/Emb_App/programme_principal_etud.c
int dis;
int capt;
UINT flag;
int dis_trou;
int dist;
//UINT flag_C;
......
// dly_tsk(100);
comm.data.id='T'; comm.data.rtr=0;
comm.data.val=1.5*(600-pos);
comm.data.val=1.5*(585-pos);
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
}
......
snd_dtq (CanTx,req.msg);
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
dis = periph[ADDR('U')].val;
//dly_tsk(100);
comm.data.id='D'; comm.data.rtr=0;
comm.data.val=-1.5*(600-dis);
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
if(capt==(0x5603))
{
comm.data.val=0;
snd_dtq (CanTx,comm.msg);
}
else
{
comm.data.val=-1.5*(585-dis);
snd_dtq (CanTx,comm.msg);
}
//dly_tsk(100);
}
}
void vitesse_roue()
{
CanFrame comm;
dly_tsk(3000);
comm.data.id='V'; comm.data.rtr=0;
comm.data.val=10;
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
if(capt==(0x5603))
{
comm.data.val=45;
snd_dtq (CanTx,comm.msg);
}
else
{
dly_tsk(3000);
comm.data.val=10;
snd_dtq (CanTx,comm.msg);
}
//dly_tsk(100);
}
void info_capt()
{
......
dly_tsk(100);
}
}
void trou()
{
while(1)
{
if(capt==(0x5603))
{
CanFrame comm;
comm.data.id='T'; comm.data.rtr=0;
comm.data.val=0;//1.5*(600-pos);
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
comm.data.id='D'; comm.data.rtr=0;
comm.data.val=0;//-1.5*(600-dis);
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
}
}
}
void main()
{
ports_mcu();
......
sta_tsk(ID_dist_T);
sta_tsk(ID_vitesse_roue);
sta_tsk(ID_info_capt);
sta_tsk(ID_trou);
while(1)
{
branch/mbaye/Emb_App/conf_noyau.cfg
// max definition
maxdefine{
max_task = 8;
max_task = 7;
max_flag = 3;
max_dtq = 2;
max_cyh = 1;
......
exinf = 0x0;
};
task[]{
entry_address = trou();
name = ID_trou;
stack_size = 512;
stack_section = stack;
priority = 11;
initial_start = ON;
exinf = 0x0;
};
task[]{
entry_address = info_capt();
name = ID_info_capt;
stack_size = 512;
stack_section = stack;
priority = 10;
priority = 9;
initial_start = ON;
exinf = 0x0;
};

Formats disponibles : Unified diff