Projet

Général

Profil

« Précédent | Suivant » 

Révision 342

Ajouté par stpouotong il y a plus de 6 ans

lecture capteur validé

Voir les différences:

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