Révision 498
Ajouté par maantourou il y a plus de 6 ans
branch/Antourou/Emb_App/programme_principal_etud.c | ||
---|---|---|
short nom_piste;
|
||
|
||
// fonction et asservissment
|
||
unsigned short position_Tourelle() // lire la position de la tourelle
|
||
//1: lire la position de la tourelle
|
||
unsigned short position_Tourelle()
|
||
{
|
||
CanFrame req;
|
||
UINT flag;
|
||
... | ... | |
|
||
return periph[ADDR('R')].val;
|
||
}
|
||
void acquivitesse_Tour(int vit)//vitesse tourelle
|
||
//2:vitesse tourelle
|
||
void acquivitesse_Tour(int vit)
|
||
{
|
||
CanFrame comm;
|
||
comm.data.id = 'T';
|
||
... | ... | |
comm.data.val = vit;
|
||
snd_dtq (CanTx,comm.msg);
|
||
}
|
||
unsigned short acqui_distance_Telem()// acquisition distance du telemetre en cm pour le calcul de la distance
|
||
//3: acquisition distance du telemetre en cm pour le calcul de la distance
|
||
unsigned short acqui_distance_Telem()
|
||
{
|
||
CanFrame requete;
|
||
UINT flag;
|
||
... | ... | |
// distance=periph[ADDR('U')].val;
|
||
return periph[ADDR('U')].val;
|
||
}
|
||
void vitesse_vehicule(int vitesse)// r?glage de la vitesse du vehicule
|
||
// 4:r?glage de la vitesse du vehicule
|
||
void vitesse_vehicule(int vitesse)
|
||
{
|
||
CanFrame comm;
|
||
comm.data.id = 'V';
|
||
... | ... | |
snd_dtq (CanTx,comm.msg);
|
||
}
|
||
|
||
// Fonction pour l'arr?t d'urgence de la voiture
|
||
//5: Fonction pour l'arr?t d'urgence de la voiture
|
||
void arret_urgence(void)
|
||
{ short stop;
|
||
CanFrame comm;
|
||
... | ... | |
comm.data.rtr=0;
|
||
comm.data.val=0;
|
||
snd_dtq(CanTx, comm.msg);
|
||
LED_R=1;
|
||
LED_R=1;// allumer la led rouge en cas d'arr?t d'urgence
|
||
}
|
||
}
|
||
|
||
unsigned short distanceaumur()//acquisition distance des roues au mur en cm
|
||
//6:acquisition distance des roues au mur en cm
|
||
unsigned short distanceaumur()
|
||
{
|
||
unsigned short longtelem, pos_tourelle, distanceaumur;
|
||
longtelem = acqui_distance_Telem();
|
||
... | ... | |
return distanceaumur;
|
||
}
|
||
|
||
|
||
void roue_directrices(unsigned short angleroue)// commande des roues (angle des en 10e de degre)
|
||
//7: commande des roues (angle des en 10e de degre)
|
||
void roue_directrices(unsigned short angleroue)
|
||
{
|
||
CanFrame comm;
|
||
|
||
... | ... | |
snd_dtq (CanTx,comm.msg);
|
||
|
||
}
|
||
void regulation_roue() // asservissment avec Correcteur proportionnel afin de r?guler la direction des roues directrices
|
||
//8:asservissment avec Correcteur proportionnel afin de r?guler la direction des roues directrices
|
||
void regulation_roue()
|
||
{
|
||
unsigned short dConsigne , distance, k;
|
||
int angleroue;
|
||
... | ... | |
}
|
||
}
|
||
|
||
|
||
// 9: asservissment tourelle
|
||
void asservissment_tour()
|
||
{
|
||
unsigned short posConsigne,posfinale;
|
||
... | ... | |
dly_tsk(100);
|
||
}
|
||
}
|
||
// FONCTION LECTURE CAPTEUR
|
||
void Capteur(){
|
||
short capteur;
|
||
CanFrame requete;
|
||
UINT flag;
|
||
while(1)
|
||
{
|
||
requete.data.id='C';
|
||
requete.data.rtr=1;//Lecture de la valeur du capteur
|
||
periph[ADDR('C')].ev=0x03;
|
||
snd_dtq(CanTx,requete.msg);
|
||
wai_flg(ev_periph, 0x03, TWF_ANDW,&flag);
|
||
capteur=periph[ADDR('C')].val;
|
||
dly_tsk(20);
|
||
}
|
||
}
|
||
|
||
|
||
// MAIN:
|
||
... | ... | |
}
|
||
*/
|
||
|
||
//foction qui permet de d?mmarrer en fonction de la couleur du feu
|
||
//foction qui permet de d?marrer le vehicule en fonction de la couleur du feu
|
||
void demarrage_voiture()
|
||
{ CanFrame requete;
|
||
UINT flag;
|
||
... | ... | |
}
|
||
!!!!!!!!! REVOIR LES FONCTIONS NON TEST? sur mon ordi
|
||
*/
|
||
/*//Pour lire les valeurs des capteurs
|
||
void Capteur(){
|
||
short capteur;
|
||
CanFrame requete;
|
||
UINT flag;
|
||
while(1)
|
||
{
|
||
requete.data.id='C';
|
||
requete.data.rtr=1;//Lecture de la valeur du capteur
|
||
periph[ADDR('C')].ev=0x03;
|
||
snd_dtq(CanTx,requete.msg);
|
||
wai_flg(ev_periph, 0x03, TWF_ANDW,&flag);
|
||
capteur=periph[ADDR('C')].val;
|
||
dly_tsk(20);
|
||
}
|
||
}
|
||
*/
|
||
|
||
|
||
|
Formats disponibles : Unified diff
dernire modif à revoir