Révision 506
Ajouté par fltronel il y a plus de 6 ans
branch/tronel_florian/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned short t;
|
||
unsigned char t1, t2;
|
||
|
||
int j=0, k=0;
|
||
|
||
unsigned short cap=0;
|
||
unsigned char cap_H, cap_L;
|
||
... | ... | |
int dist;
|
||
int ang_r;
|
||
|
||
int ang_s;
|
||
|
||
int V;
|
||
int copV;
|
||
|
||
... | ... | |
case 3: v=4; break;
|
||
case 4: v=8; break;
|
||
case 5: v=13; break;
|
||
case 6: v=25; break;
|
||
case 7: v=42; break;
|
||
case 8: v=12; break;
|
||
|
||
}
|
||
|
||
... | ... | |
|
||
void task_2(){
|
||
CanFrame req_1, rep, cons_tourelle;
|
||
int ang_o, vit_t, ang_s=450;
|
||
int ang_o, vit_t;
|
||
|
||
while(1){
|
||
req_1.data.id='R';
|
||
... | ... | |
//rcv_dtq(CanRx,&rep.msg);
|
||
dist = periph[ADDR('U')].val;
|
||
|
||
if(dist>2000 || dist <0){dist = 700; LED_J=1;c=0;}
|
||
if(dist>1500 || dist <0){if(p<4){dist = 700;}
|
||
if(p==4){dist = d_mur;}
|
||
LED_J=1;c=0;
|
||
}
|
||
/* if(p==4 && cap_H=='V' && cap_L==0x02){
|
||
if(dist>d_mur+2 || dist<d_mur-2){dist=d_mur;}
|
||
}*/
|
||
|
||
|
||
c++;
|
||
if(c>400){LED_J=0; c=0;}
|
||
|
||
... | ... | |
switch(cap_H){
|
||
case 'V': if(cap_L==0x01){
|
||
nb_tour++;
|
||
rsm_tsk(ID_task_9);
|
||
j=0;
|
||
k=0;
|
||
cap_H=0;
|
||
cap_L=0;
|
||
if(nb_tour == 4){nb_tour=0;
|
||
... | ... | |
stp_cyc(ID_HC_2);
|
||
}
|
||
}
|
||
|
||
if(p==3){
|
||
|
||
if(cap_L==0x02){
|
||
if(p==4 && j==0){
|
||
|
||
d_mur=185;
|
||
|
||
V=8;
|
||
copV=8;
|
||
|
||
dly_tsk(100);
|
||
|
||
d_mur=180;
|
||
|
||
j=1;
|
||
|
||
|
||
}
|
||
}
|
||
|
||
if(cap_L==0x03){
|
||
|
||
if(p==3){
|
||
V=2;
|
||
copV=2;
|
||
|
||
... | ... | |
V=1;
|
||
copV=1;
|
||
}
|
||
|
||
if(p==4){
|
||
V=7;
|
||
copV=7;
|
||
|
||
dly_tsk(2300);
|
||
|
||
sus_tsk(ID_task_3);
|
||
|
||
dist=700;
|
||
dly_tsk(500);
|
||
|
||
V=0;
|
||
copV=0;
|
||
|
||
dly_tsk(900);
|
||
|
||
V=3;
|
||
copV=3;
|
||
|
||
rsm_tsk(ID_task_3);
|
||
|
||
dly_tsk(300);
|
||
|
||
V=4;
|
||
copV=4;
|
||
|
||
dly_tsk(600);
|
||
|
||
V=5;
|
||
copV=5;
|
||
|
||
dly_tsk(800);
|
||
|
||
V=6;
|
||
copV=6;
|
||
}
|
||
}
|
||
|
||
break;
|
||
break;
|
||
|
||
case 'J': if(cap_L==0x01){
|
||
if(p==4 && k==0){
|
||
|
||
|
||
rsm_tsk(ID_task_3);
|
||
|
||
V=8;
|
||
copV=8;
|
||
d_mur=600;
|
||
|
||
dly_tsk(2000);
|
||
|
||
d_mur=300;
|
||
|
||
k=1;
|
||
}
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
case 'R': if(cap_L==0x02){
|
||
if(p==4){
|
||
rsm_tsk(ID_task_3);
|
||
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
dly_tsk(9);
|
||
}
|
||
... | ... | |
void task_9(){
|
||
|
||
while(1){
|
||
|
||
if (p<4){d_mur = 700;
|
||
ang_s= 450;
|
||
}
|
||
else if (p == 4){
|
||
ang_s= 450;
|
||
V=6;
|
||
copV=6;
|
||
|
||
d_mur = 745;
|
||
|
||
dly_tsk(1400);
|
||
|
||
sus_tsk(ID_task_3);
|
||
|
||
dist=745;
|
||
|
||
dly_tsk(1000);
|
||
|
||
sus_tsk(ID_task_9);
|
||
}
|
||
dly_tsk(8);
|
||
}
|
||
}
|
Formats disponibles : Unified diff
passage piste noire en cours
problème sur le pont