Révision 442
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=ff0056
|
||
RESET=ff0052
|
branch/font/Emb_App/programme_principal_etud.c | ||
---|---|---|
#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 15 //vitesse pour passer le saut (piste noire)
|
||
#define vitesse_terre 15 //vitesse pour passer le chemin en terre (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 distance_bord = 700; //distance du bord souhait?e
|
||
int alpha; //angle de la tourelle
|
||
int distance; //distance du bord mesur?e
|
||
int vitesse;
|
||
int distance1;
|
||
int angle_roue = 0;
|
||
int kroue = 1; //coefficient asservissement tourelle
|
||
int ktour = 1; //coefficient asservissement roues
|
||
int num_piste; //valeur du p?riph?rique 'M'
|
||
int num_piste1; //num?ro de la piste
|
||
int capteur; //valeur du dernier capteur franchi
|
||
char saut = 0; //Indique quand est le saut piste rouge
|
||
int vitesse; //consigne de vitesse
|
||
int distance; //distance du bord pr?c?dente
|
||
int distance1; //distance mesur?e
|
||
int angle_roue = 0; //angle des roues
|
||
int kroue = 1; //coefficient asservissement tourelle
|
||
int ktour = 1; //coefficient asservissement roues
|
||
int num_piste; //valeur du p?riph?rique 'M'
|
||
int num_piste1; //num?ro de la piste
|
||
int capteur; //valeur du dernier capteur franchi
|
||
char saut = 0; //Indique quand est le saut piste rouge
|
||
int feu;
|
||
int feuv; //d?tecte la pr?sence du feu vert
|
||
int montee_bleu = 0; //indique quand est la mont?e piste bleu
|
||
int go = 0; //variable pour d?part de la voiture
|
||
int valide = 0;
|
||
int cpt = 0;
|
||
int feuv; //d?tecte la pr?sence du feu vert
|
||
int montee_bleu = 0; //indique quand est la mont?e piste bleu
|
||
int go = 0; //variable pour d?part de la voiture
|
||
|
||
//Lis la valeur meusr?e par le t?l?m?tre
|
||
void lecture_telemetre(){
|
||
... | ... | |
snd_dtq(CanTx, requete.msg);
|
||
wai_flg(ev_periph, 0x02, TWF_ANDW, &flag); //Attente de lecture
|
||
distance1 = periph[ADDR('U')].val;
|
||
if(distance1 > 1500 || distance1 < -1500){} //gestions des trous dans les barri?res de la piste
|
||
if(distance1 > 1500 || distance1 < -1500){
|
||
LED_J = 1;
|
||
} //gestions des trous dans les barri?res de la piste
|
||
else {
|
||
distance = distance1;
|
||
LED_J = 0;
|
||
}
|
||
dly_tsk(8);
|
||
}
|
||
... | ... | |
}
|
||
}
|
||
|
||
void nbr_tours(){
|
||
dly_tsk(1000);
|
||
//affiche la couleur de la piste
|
||
void affichage_piste(){
|
||
|
||
dly_tsk(500);
|
||
switch(num_piste1){
|
||
case 0x0001 :
|
||
lcd_str("Piste verte");
|
||
... | ... | |
lcd_str("Piste_noire");
|
||
break;
|
||
}
|
||
|
||
/*if(num_piste1 == 4){
|
||
lcd_str("piste_noire");
|
||
}*/
|
||
}
|
||
|
||
//Fonction de demarrage de la voiture
|
||
... | ... | |
UINT flag;
|
||
|
||
//Attente avant d?part
|
||
dly_tsk(4000);
|
||
while(1){
|
||
|
||
|
||
... | ... | |
sta_tsk(ID_asservissement_roue);
|
||
sta_tsk(ID_gestion_saut);
|
||
sta_tsk(ID_gestion_distance_bordure);
|
||
sta_tsk(ID_nbr_tours);
|
||
sta_tsk(ID_affichage_piste);
|
||
|
||
while(1)
|
||
{
|
branch/font/Emb_App/conf_noyau.cfg | ||
---|---|---|
};
|
||
|
||
task[]{
|
||
entry_address = nbr_tours();
|
||
name = ID_nbr_tours;
|
||
entry_address = affichage_piste();
|
||
name = ID_affichage_piste;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 4;
|
Formats disponibles : Unified diff
dernier commit