Projet

Général

Profil

« Précédent | Suivant » 

Révision 444

Ajouté par tibacher il y a plus de 6 ans

version finale

Voir les différences:

branch/bacher/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff00ac
RESET=ff009a
branch/bacher/Emb_App/programme_principal_etud.c
int i_urgence=0; //incr?ment d'urgence
int s_urgence=0; //signal d'urgence
int cu=0;
int i_ar=0;
int Temps;
int sec;
int cent_sec;
......
void demarre()
{
dly_tsk(2000);
piste.data.id='M';
piste.data.rtr=1;
periph[ADDR('M')].ev=0x04;
......
mode=0;
break;
case 1: //piste verte
vitesse=65;
vitesse=50;
vitesse_virage=30;
mode=0;
break;
......
if(s_urgence==0)snd_dtq (CanTx,comm.msg); //on envoie la modification ? effectuer
if(retour!=cons) valeur=k*(cons-retour);
}
dly_tsk(20);
dly_tsk(6);
}
}
......
if (a>-10 && a<10){
return vitesse;}
else if(a>0&&a<50)
return -a/2+vitesse;
//return (a*a)/100-a+vitesse;
//return -a/2+vitesse;
return (a*a)/100-a+vitesse;
else if(a<0&&a>-50)
return a/2+vitesse;
//return (a*a)/100+a+vitesse;
//return a/2+vitesse;
return (a*a)/100+a+vitesse;
else if (a<-100||a>100){
return vitesse_virage;
}
......
distance=periph[ADDR('U')].val;
}
}
dly_tsk(10);
dly_tsk(6);
}
}
......
}
if(s_urgence==0)snd_dtq(CanTx, comm.msg);
}
dly_tsk(10);
dly_tsk(6);
}
}
......
vitesse=10;
vitesse_virage=10;
cons_roue=150;
dly_tsk(3500);
vitesse=20;
vitesse_virage=20;
i++;
}
if (retour_C==0x5202 && num_piste==4){ //apr?s la bosse de la piste noire
cons_roue=700;
dly_tsk(1000);
vitesse=20;
vitesse_virage=20;
cons_roue=700;
i=0;
}
if (retour_C==0x5603 && i==0 && num_piste==4){ //si on passe le capteur avant le tremplin
......
while (p0_4==0){
vit_roue.data.val=0;
snd_dtq (CanTx,vit_roue.msg);
i_ar=1;
cu=1;
s_urgence=1;
i_urgence=0;
}
if (p0_4==1 && i_urgence==0){
i_ar=0;
i_urgence==1;
s_urgence=0;
vit_roue.data.val=vitesse;
......
}
switch(num_piste){
case 1:
lcd_str("verte Temps: ");
lcd_str("verte ");
break;
case 2:
lcd_str("bleue Temps: ");
lcd_str("bleue ");
break;
case 3:
lcd_str("rouge Temps: ");
lcd_str("rouge ");
break;
case 4:
lcd_str("noire Temps: ");
lcd_str("noire ");
break;
}
//AFFICHAGE DU TEMPS
......
c_Temps[3]=decode_int(((Temps%1000)%100)/10);
c_Temps[4]=decode_int(((Temps%1000)%100)%10);
c_Temps[5]=' ';
dly_tsk(150);
lcd_str("Temps: ");
lcd_str(c_Temps);
dly_tsk(20);
dly_tsk(100);
}
}
void main()

Formats disponibles : Unified diff