Projet

Général

Profil

« Précédent | Suivant » 

Révision 340

Ajouté par audercoux il y a plus de 6 ans

Passage de la piste rouge réussit

Voir les différences:

branch/decroux/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff001a
RESET=ff001c
branch/decroux/Emb_App/programme_principal_etud.c
int kt=1;//Gain tourelle
int kr=1; // Gain roue
unsigned int dis;
unsigned int capt;
unsigned int capt=0x0000;
// Tache qui met la tourelle a 45degres
......
dis=periph[ADDR('U')].val; // Contient la derniere valeur renvoyee par le simulateur
periph[ADDR('U')].maj; // Incremente a chaque reception
//Assevicement
if(dis>700)
if(dis>1000)
{
commRoues.data.id='D'; // Commande de l'angle des roues
commRoues.data.rtr=0; //Indique une requete d'?criture
......
{
commRoues.data.id='D'; // Commande de l'angle des roues
commRoues.data.rtr=0; //Indique une requete d'?criture
commRoues.data.val=kr*(dis-650); // Correction de la disance
commRoues.data.val=kr*(dis-680); // Correction de la disance
snd_dtq(CanTx,commRoues.msg);
}
dly_tsk(10);
}
}
//Fonctin vitesse
void vitesse(unsigned int valcapt)
{
CanFrame commVit;
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=25;
snd_dtq (CanTx,commVit.msg);
if(valcapt== 0x5603)
{
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=45;
snd_dtq (CanTx,commVit.msg);
}
else if(valcapt==0x7608)
{
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=0;
snd_dtq (CanTx,commVit.msg);
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=5;
snd_dtq (CanTx,commVit.msg);
}
}
else if(valcapt==0x5604)
{
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=25;
snd_dtq (CanTx,commVit.msg);
}
}
// Focntion delay
void Pause(void)
{
int i;
for(i=0; i<9000; i=i+1);
}
void main()
{
CanFrame commVit;
CanFrame capteur;
CanFrame commRoues;
ports_mcu();
lcd_init();
periph_init();
......
sta_cyc(ID_acqui);
sta_tsk(ID_periph_rx);
sta_tsk(ID_asservissemet_tourelle);
dly_tsk(2000);
sta_tsk(ID_asservissement_roues);
sta_tsk(ID_asservissemet_tourelle);
dly_tsk(3000);
while(1)
{
//Commande en vitesse
commVit.data.id='V';
commVit.data.rtr=0;
commVit.data.val=20;
snd_dtq (CanTx,commVit.msg);
vitesse(capt);
//Lecture de la valeur du capteur
capteur.data.id='C'; //Information sur le dernier capteur touc?
capteur.data.rtr=1; // Indiquation d'une requiete de lecture
snd_dtq (CanTx,capteur.msg); // Interrogation du peripherique
capteur.data.id='C'; //Information sur le dernier capteur
capteur.data.rtr=1; // Indiquation d'une requiete de lecture
snd_dtq (CanTx,capteur.msg); // Interrogation du peripherique
capt=periph[ADDR('C')].val; // Contient la derniere valeur renvoyee par le simulateur
periph[ADDR('C')].maj; // Incremente a chaque reception
//LED_J=1;
//dly_tsk(100);
//LED_J=0;
periph[ADDR('C')].maj;
// Incremente a chaque reception
LED_J=1;
dly_tsk(100);
LED_J=0;
dly_tsk(100);
}
}
branch/decroux/Emb_App/conf_noyau.cfg
};
//
// End of Configuration
//

Formats disponibles : Unified diff