Projet

Général

Profil

« Précédent | Suivant » 

Révision 442

Ajouté par axfont il y a plus de 6 ans

dernier commit

Voir les différences:

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