Révision 486
Ajouté par gamatteozz il y a plus de 6 ans
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
commit après évaluation