Révision 377
Ajouté par nodaoud il y a plus de 6 ans
branch/daoud/Emb_App/programme_principal_etud.c | ||
---|---|---|
short k=1;
|
||
CanFrame req,comm;
|
||
UINT flag;
|
||
|
||
while(1){
|
||
|
||
req.data.id='R';
|
||
req.data.rtr=1;
|
||
periph[ADDR('R')].ev=0x01;
|
||
... | ... | |
//Attente de la r?ponse
|
||
wai_flg (ev_periph, 0x01, TWF_ANDW, &flag);
|
||
alpha=periph[ADDR('R')].val;
|
||
if(capteur==0x5603){
|
||
dly_tsk(50);}
|
||
else{
|
||
//Commande vitesse de la tourelle
|
||
comm.data.id='T';
|
||
comm.data.rtr=0; //indique une ?criture
|
||
comm.data.val=k*(450-alpha);
|
||
snd_dtq(CanTx, comm.msg);}
|
||
dly_tsk(10);
|
||
}
|
||
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(10);
|
||
|
||
}
|
||
|
||
|
||
|
||
}
|
||
void dist(){
|
||
//lecture de la distance du mur
|
||
... | ... | |
periph[ADDR('U')].ev=0x01;
|
||
snd_dtq(CanTx, req.msg);
|
||
//Attente de la r?ponse
|
||
|
||
wai_flg (ev_periph, 0x01, TWF_ANDW, &flag);
|
||
distance=periph[ADDR('U')].val;
|
||
dly_tsk(20);
|
||
... | ... | |
snd_dtq(CanTx, req.msg);
|
||
//Attente de la r?ponse
|
||
wai_flg (ev_periph, 0x03, TWF_ANDW, &flag);
|
||
capteur=periph[ADDR('C')].val;
|
||
capteur=periph[ADDR('C')].val;
|
||
dly_tsk(20);
|
||
}
|
||
|
||
... | ... | |
|
||
void det_saut(){
|
||
while(1){
|
||
if(capteur==0x5603){
|
||
if(capteur==0x7688){
|
||
distance=700;
|
||
alpha=450;
|
||
|
||
/* vite.data.val=36;
|
||
snd_dtq(CanTx, vite.msg);*/
|
||
|
||
... | ... | |
|
||
req.data.id='D';
|
||
req.data.rtr=0;
|
||
if(capteur==0x5603){
|
||
if(capteur==0x7688){
|
||
req.data.val=0;
|
||
snd_dtq(CanTx, req.msg);}
|
||
else{
|
||
|
||
if(distance>1000)distance=701;
|
||
|
||
else{
|
||
... | ... | |
|
||
}
|
||
}
|
||
dly_tsk(20);
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
void demarrage(){
|
||
... | ... | |
while(1){
|
||
vite.data.id='V';
|
||
vite.data.rtr=0;
|
||
if(capteur==0x5603){// debut de saut
|
||
//dly_tsk(10);
|
||
vite.data.val=50;
|
||
if(capteur==0x7688){// debut de saut
|
||
|
||
vite.data.val=45;
|
||
snd_dtq(CanTx, vite.msg);}
|
||
else{
|
||
if(capteur==0x4203){
|
||
vite.data.val=10;
|
||
vite.data.val=7;
|
||
snd_dtq(CanTx, vite.msg);}
|
||
|
||
if(capteur==0x7601){
|
||
vite.data.val=3;
|
||
snd_dtq(CanTx, vite.msg);}
|
||
|
||
|
||
else{
|
||
vite.data.val=36;
|
||
snd_dtq(CanTx, vite.msg);
|
Formats disponibles : Unified diff
passage a la piste noire