Révision 342
Ajouté par stpouotong il y a plus de 6 ans
branch/Styves_POUOTONG/tp_info6/Emb_App/programme_principal_etud.c | ||
---|---|---|
dly_tsk(10);
|
||
}
|
||
}
|
||
void vitesse()
|
||
{
|
||
CanFrame requete;
|
||
|
||
requete.data.id = 'V';
|
||
requete.data.rtr = 0;
|
||
requete.data.val=25;
|
||
snd_dtq(CanTx,requete.msg);
|
||
}
|
||
short dist;
|
||
void Asserv1() //asservissemt de la tourelle
|
||
{
|
||
CanFrame requete;
|
||
CanFrame reponse, comm;
|
||
CanFrame comm;
|
||
|
||
short cmd;
|
||
short erreur;
|
||
short consigne=703;
|
||
short k=-1;
|
||
requete.data.id = 'V';
|
||
requete.data.rtr = 0;
|
||
requete.data.val=25;
|
||
snd_dtq(CanTx,requete.msg);
|
||
while(1){
|
||
requete.data.id = 'U';
|
||
requete.data.rtr = 1;
|
||
... | ... | |
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
|
||
}
|
||
long couleur_capteur;
|
||
long capt;
|
||
void capteur()
|
||
{
|
||
CanFrame req;
|
||
UINT flag;
|
||
while(1)
|
||
{
|
||
req.data.id = 'C';
|
||
req.data.rtr = 1;
|
||
periph[ADDR('C')].ev = 0x01;
|
||
snd_dtq(CanTx, req.msg);
|
||
dly_tsk(2000);
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
|
||
capt = periph[ADDR('C')].val;
|
||
couleur_capteur = capt&0xFF00;
|
||
}
|
||
|
||
}
|
||
void main()
|
||
{
|
||
{
|
||
CanFrame comm;
|
||
//short couleur_capteur;
|
||
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
... | ... | |
sta_cyc(ID_acqui);
|
||
sta_tsk(ID_periph_rx);
|
||
sta_tsk(ID_Asserv0);
|
||
dly_tsk(4000);
|
||
sta_tsk(ID_Asserv1);
|
||
|
||
dly_tsk(2000);
|
||
sta_tsk(ID_vitesse);
|
||
sta_tsk(ID_capteur);
|
||
sta_tsk(ID_Asserv1);
|
||
while(1)
|
||
{
|
||
LED_J=1;
|
branch/Styves_POUOTONG/tp_info6/Emb_App/conf_noyau.cfg | ||
---|---|---|
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = vitesse();
|
||
name = ID_vitesse;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = capteur();
|
||
name = ID_capteur;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
initial_pattern = 0x0000;
|
Formats disponibles : Unified diff
lecture capteur validé