Révision 430
Ajouté par axfont il y a plus de 6 ans
branch/font/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff002a
|
||
RESET=ff002c
|
branch/font/Emb_App/programme_principal_etud.c | ||
---|---|---|
#define vitesse_decalage 15 //vitesse pour se d?caler ? gauche de la route avant les barils (piste noire)
|
||
#define vitesse_cote_piste 12 //vitesse pour longer la piste (piste noire)
|
||
#define vitesse_saut_noir 43 //vitesse pour passer le saut (piste noire)
|
||
#define vitesse_recep_noir 20 //vitesse pour passer le saut (piste noire)
|
||
#define vitesse_recep_noir 15 //vitesse pour passer le saut (piste noire)
|
||
#define vitesse_terre 15 //vitesse pour passer le chemin en terre (piste noire)
|
||
#define angle_tourelle 450 //angle de la tourelle par d?faut
|
||
|
||
... | ... | |
int go = 0; //variable pour d?part de la voiture
|
||
int valide = 0;
|
||
int cpt = 0;
|
||
|
||
int a=0;
|
||
|
||
//Lis la valeur meusr?e par le t?l?m?tre
|
||
void lecture_telemetre(){
|
||
CanFrame requete;
|
||
... | ... | |
CanFrame requete;
|
||
UINT flag;
|
||
|
||
go = 0;
|
||
while(1){
|
||
//Lecture de la zone
|
||
requete.data.id = 'M';
|
||
... | ... | |
wai_flg(ev_periph, 0x06, TWF_ANDW, &flag); //Attente de la r?ponse
|
||
feu = periph[ADDR('M')].val; //acquisition du dernier capteur franchi
|
||
feuv = (feu & 0x8000);
|
||
if(feuv == 0x8000) go = 1;
|
||
dly_tsk(6);
|
||
}
|
||
}
|
||
... | ... | |
UINT flag;
|
||
|
||
//Attente avant d?part
|
||
// if( feuv == 0x8000)go = 1;
|
||
// if(go == 1){
|
||
dly_tsk(4000);
|
||
comm.data.id = 'V';
|
||
comm.data.rtr = 0;
|
||
comm.data.val = vitesse; //D?marrage
|
||
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(4000);
|
||
while(1){
|
||
|
||
|
||
while(1){
|
||
comm.data.id = 'V';
|
||
comm.data.rtr = 0;
|
||
|
||
if(p0_4 == 1){
|
||
if(angle_roue > 40 || angle_roue < -40){ //ralentissement de la voiture si angle demand? trop grand
|
||
vitesse = vitesse_virage;
|
||
... | ... | |
if(num_piste1 == 4 && capteur == 0x5202){ //vitesse adapt?e pour le retour au milieu de la route piste noire
|
||
vitesse = vitesse_retour_piste;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x4a01){ //vitesse adapt?e pour le d?calage ? gauche de la route piste noire
|
||
if(num_piste1 == 4 && capteur == 0x4a01){ //vitesse adapt?e pour le d?calage ? droite de la route piste noire
|
||
vitesse = vitesse_decalage;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x6a00){ //vitesse adapt?e pour passer les tonneaux piste noire
|
||
vitesse = vitesse_pnoire;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x5602){ //vitesse adapt?e pour longer le bord de la piste noire
|
||
vitesse = vitesse_cote_piste;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x6a01){ //vitesse adapt?e pour le saut piste noire
|
||
vitesse = vitesse_saut_noir;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x6a00){ //vitesse adapt?e pour passer les tonneaux piste noire
|
||
vitesse = vitesse_pnoire;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x6a04){ //vitesse adapt?e pour
|
||
if(num_piste1 == 4 && capteur == 0x6a04){ //vitesse adapt?e pour la reception du saut piste noire
|
||
vitesse = vitesse_recep_noir;
|
||
}
|
||
if(num_piste1 == 4 && capteur == 0x5604){ //vitesse adapt?e pour la route de terre (piste noire)
|
||
... | ... | |
else if(p0_4 == 0) {
|
||
vitesse = 0;
|
||
}
|
||
if(go == 1){
|
||
comm.data.id = 'V';
|
||
comm.data.rtr = 0;
|
||
comm.data.val = vitesse;
|
||
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
dly_tsk(7);
|
||
}
|
||
//}
|
||
|
||
}
|
||
|
||
|
||
... | ... | |
|
||
can_init();
|
||
clavier_init(1);
|
||
capture_init();
|
||
capture_init();
|
||
go = 0;
|
||
|
||
sta_tsk(ID_periph_rx);
|
||
sta_tsk(ID_lecture_piste);
|
Formats disponibles : Unified diff
départ feu vert marche