Projet

Général

Profil

« Précédent | Suivant » 

Révision 389

Ajouté par sabeaussan il y a plus de 6 ans

détection feu vert pour le départ ok

Voir les différences:

branch/beaussant/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff0030
RESET=ff0034
branch/beaussant/Emb_App/programme_principal_etud.c
//CanFrame touche;
short consigne=450;
int dist_obs=0;
int dist_consigne=703;
int dist_consigne=704;
int cmpt;
char kt=3;
char kv=10;
......
int is_stable=0;
int dans;
int est_stable=0;
unsigned short modeCourse=0;
char num_piste;
char etat_feu=0;
void envoieFrame(unsigned char id, unsigned short val)
{
......
est_stable=0;
kv=0.8;
commandeV=15;
dist_obs=acquiFrame('U');
modeCourse=acquiFrame('M');
etat_feu=modeCourse>>15;
while(etat_feu!=1){
modeCourse=acquiFrame('M');
etat_feu=modeCourse>>15;
dly_tsk(20);
}
envoieFrame('V',commandeV);
dist_obs=acquiFrame('U');
while(est_stable!=1){
dist_obs=acquiFrame('U');
if(dist_obs<1000){
......
void asserv_vitesse(){
while(1){
dans=intervalle(commandeR,15);
if(val_capt==99)
{
commandeV=45;
kr==0;
switch(val_capt){
case 99:
commandeV=45;
kr==0;
break;
case 106:
commandeV=2;
kr=0.8;
break;
case 66:
commandeV=20;
kr=0.6;
break;
default:
if(dans==1)
{
commandeV=70;
kr=0.7;
}
else
{
commandeV=35;
kr=1.5;
}
break;
}
else if(val_capt==106 || val_capt==66)
{
commandeV=10;
kr=0.8;
}
else if(dans==1 && val_capt!=99)
{
commandeV=70;
kr=0.7;
}
else if(dans==0 && val_capt!=106)
{
commandeV=30;
kr=1.5;
}
dly_tsk(30);
}
}

Formats disponibles : Unified diff