Révision 328
Ajouté par khmbaye il y a plus de 6 ans
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
Apporter des corrections pour la piste bleue