Projet

Général

Profil

« Précédent | Suivant » 

Révision 486

Ajouté par gamatteozz il y a plus de 6 ans

commit après évaluation

Voir les différences:

branch/matteozzi/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff005a
RESET=ff0254
branch/matteozzi/Emb_App/programme_principal_etud.c
unsigned char piste;
unsigned short cap;
unsigned feu;
unsigned short g;
///////////////////////////
//Declaration des taches///
///////////////////////////
......
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
distance=periph[ADDR('U')].val; //recupere la valeur de l'angle dans retour // amelioration de l asservissement
if(distance>1500 | val_cap==0x6310){
comm.data.id='D'; //demande de la requete D
comm.data.rtr=0;
......
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
val_cap=(periph[ADDR('C')].val);
g=val_cap&0xFF00;
if (piste==0x01){
lcd_str("Piste verte");break;
switch(g){
case 0x5600:
lcd_com(0x80);
lcd_str("Piste verte et zone verte");
break;
case 0x4a00:
lcd_com(0x80);
lcd_str("Piste verte et zone jaune");
break;
case 0x5200:
lcd_com(0x80);
lcd_str("Piste verte et zone rouge");
break;
case 0x4200:
lcd_com(0x80);
lcd_str("Piste verte et zone cyan");
break;
case 0x4300:
lcd_com(0x80);
lcd_str("Piste verte et zone bleu");
break;
}
}
if (piste==0x02){
lcd_str("Piste bleu");break;
switch(g){
case 0x5600:
lcd_com(0x80);
lcd_str("Piste bleu et zone verte");
break;
case 0x4a00:
lcd_com(0x80);
lcd_str("Piste bleu et zone jaune");
break;
case 0x5200:
lcd_com(0x80);
lcd_str("Piste bleu et zone rouge");
break;
case 0x4200:
lcd_com(0x80);
lcd_str("Piste bleu et zone cyan");
break;
case 0x4300:
lcd_com(0x80);
lcd_str("Piste bleu et zone bleu");
break;
}
}
if (piste==0x03){
lcd_str("Piste rouge");break;
switch(g){
case 0x5600:
lcd_com(0x80);
lcd_str("Piste rouge et zone verte");
break;
case 0x4a00:
lcd_com(0x80);
lcd_str("Piste rouge et zone jaune");
break;
case 0x5200:
lcd_com(0x80);
lcd_str("Piste rouge et zone rouge");
break;
case 0x4200:
lcd_com(0x80);
lcd_str("Piste rouge et zone cyan");
break;
case 0x4300:
lcd_com(0x80);
lcd_str("Piste rouge et zone bleu");
break;
}
}
if (piste==0x04){
lcd_str("Piste noire");break;
switch(g){
case 0x5600:
lcd_com(0x80);
lcd_str("Piste noire et zone verte");
break;
case 0x4a00:
lcd_com(0x80);
lcd_str("Piste noire et zone jaune");
break;
case 0x5200:
lcd_com(0x80);
lcd_str("Piste noire et zone rouge");
break;
case 0x4200:
lcd_com(0x80);
lcd_str("Piste noire et zone cyan");
break;
case 0x4300:
lcd_com(0x80);
lcd_str("Piste noire et zone bleu");
break;
}
}
}
}
......
sta_tsk(ID_lcd);
sta_tsk(ID_bouton);
requete.data.id='M'; //demande de la requete C
requete.data.rtr=1;
periph[ADDR('M')].ev=0x01; //demande de lecture car rtr=1
snd_dtq(CanTx, requete.msg); //envoie de la demande dans CanTx
dly_tsk(50);
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
piste=(periph[ADDR('M')].val);
if (piste==0x01){
lcd_str("Piste verte");
}
if (piste==0x02){
lcd_str("Piste bleu");
}
if (piste==0x03){
lcd_str("Piste rouge");
}
if (piste==0x04){
lcd_str("Piste noire");
}
requete.data.id='M'; //demande de la requete C
requete.data.rtr=1;
periph[ADDR('M')].ev=0x01; //demande de lecture car rtr=1
......
}
while(1)
{
LED_J=0;
LED_V=0;
dly_tsk(50);
LED_J=1;
LED_V=1;
dly_tsk(50);
}
}

Formats disponibles : Unified diff