Projet

Général

Profil

« Précédent | Suivant » 

Révision 71

Ajouté par melepogam il y a plus de 6 ans

prise en compte des trous ok

Voir les différences:

branch/lepogam/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff002a
RESET=ff002e
branch/lepogam/Emb_App/programme_principal_etud.c
unsigned int alpha=0;
unsigned int distance=0;
unsigned int vitesse=0;
unsigned int distance_ref=722;
unsigned int couleur=0; // vert -> ligne droie
unsigned int distance_ref=700;
unsigned int consigne=450;
unsigned int consigne_vitesse=40;
unsigned int consigne_vitesse=60;
unsigned int vitesse_min=28;
unsigned int valeur_t=0;
unsigned int valeur_r=0;
int k1=1;
int k2=2;
int k1=2;
int k2=1;
void asserv_tourelle(){
......
comm.data.rtr=0;
comm.data.val=valeur_t;
snd_dtq (CanTx,comm.msg);
dly_tsk(100);
dly_tsk(50);
}
}
......
demande.data.id='U';
demande.data.rtr=1;
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
distance=periph[ADDR('U')].val; // contient la valeur de retour du simulateur.
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
if (periph[ADDR('U')].val<1000) distance=periph[ADDR('U')].val; // contient la valeur de retour du simulateur.
comm.data.id='D';
comm.data.rtr=0;
comm.data.val=valeur_r;
snd_dtq (CanTx,comm.msg);
dly_tsk(6);
}
}
......
CanFrame reponse;
while(1){
dly_tsk(400);
comm.data.id='V'; //envoi consigne vitesse
comm.data.rtr=0;
comm.data.val=vitesse;
snd_dtq (CanTx,comm.msg);
demande.data.id='C';
demande.data.rtr=1;
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
couleur=periph[ADDR('C')].val>>2; // contient la valeur de retour du simulateur.
dly_tsk(100);
}
}
void asserv3(){
if(vitesse!=consigne_vitesse) vitesse++;
if(couleur==0x1580 || couleur==0x1581 ) vitesse=consigne_vitesse;
else{
vitesse=vitesse_min;
}
}
void main()
......
sta_tsk(ID_asserv_tourelle);
sta_tsk(ID_asserv_roue);
sta_tsk(ID_asserv_vitesse);
sta_cyc(ID_asserv1);
sta_cyc(ID_asserv2);
sta_cyc(ID_asserv3);
dly_tsk(600);
sta_tsk(ID_asserv_vitesse);
sta_cyc(ID_asserv3);
while(1)
{
branch/lepogam/Emb_App/conf_noyau.cfg
name = ID_asserv_tourelle;
stack_size = 256;
stack_section = stack;
priority = 3;
priority = 5;
initial_start = OFF;
exinf = 0x0;
};
......
name = ID_asserv_vitesse;
stack_size = 256;
stack_section = stack;
priority = 5;
priority = 3;
initial_start = OFF;
exinf = 0x0;
};

Formats disponibles : Unified diff