Révision 452
Ajouté par nacao il y a plus de 6 ans
branch/nan_cao/Emb_App/programme_principal_etud.c | ||
---|---|---|
short couleurcap;
|
||
short mod;
|
||
short angle;
|
||
//short capteur;
|
||
|
||
CanFrame comm_ang;
|
||
CanFrame comm_vitesse;
|
||
|
||
... | ... | |
{
|
||
req.data.id='R'; //lecture angle de la tourelle
|
||
req.data.rtr=1;
|
||
|
||
//Attente de la reponse
|
||
periph[ADDR('R')].ev=0x01;
|
||
snd_dtq(CanTx,req.msg);
|
||
... | ... | |
comm.data.rtr=0;
|
||
comm.data.val=vitourelle;
|
||
snd_dtq(CanTx,comm.msg);
|
||
if (alpha!=450) vitourelle=450-alpha;
|
||
|
||
if (alpha!=450) vitourelle=450-alpha;
|
||
dly_tsk(20);
|
||
}
|
||
|
||
... | ... | |
comm_ang.data.id='D'; //angle de roue
|
||
comm_ang.data.rtr=0;
|
||
comm_ang.data.val=angle;
|
||
if(distance < 1100) angle=-(710-distance);
|
||
if(distance < 1100) angle=-(700-distance);
|
||
else comm_ang.data.val=0;
|
||
snd_dtq(CanTx,comm_ang.msg);
|
||
dly_tsk(20);
|
||
... | ... | |
}
|
||
|
||
}
|
||
*/
|
||
|
||
*/
|
||
|
||
/* 6 seance
|
||
void vit(){
|
||
|
||
while(1)
|
||
... | ... | |
snd_dtq(CanTx,comm_vitesse.msg);
|
||
}
|
||
}
|
||
*/
|
||
|
||
void vit(){
|
||
|
||
while(1)
|
||
{
|
||
dly_tsk(500);
|
||
comm_vitesse.data.id='V'; //Vitesse de la tour
|
||
comm_vitesse.data.rtr=0;
|
||
|
||
if(Bp_G==1) comm_vitesse.data.val=0;
|
||
else comm_vitesse.data.val=vitesse;
|
||
snd_dtq(CanTx,comm_vitesse.msg);
|
||
}
|
||
}
|
||
void affichage()
|
||
{
|
||
while(1){
|
||
dly_tsk(10);
|
||
lcd_putc('mod');
|
||
}
|
||
}
|
||
|
||
|
||
void main()
|
||
{
|
||
CanFrame comm;
|
||
|
||
|
||
ports_mcu();
|
||
lcd_init();
|
||
... | ... | |
can_init();
|
||
clavier_init(1);
|
||
capture_init();
|
||
|
||
|
||
sta_tsk(ID_affichage);
|
||
sta_tsk(ID_ang_roue);
|
||
sta_tsk(ID_ang_tourelle);
|
||
sta_tsk(ID_vitesse);
|
||
... | ... | |
while(1)
|
||
{
|
||
|
||
|
||
|
||
|
||
switch(num_piste){
|
||
case 1:
|
||
vitesse=30;
|
||
... | ... | |
|
||
case 3:
|
||
if(cap==0x7601) {
|
||
vitesse=80;
|
||
|
||
}
|
||
else if (cap==0x5603) vitesse=50;
|
||
vitesse=60;
|
||
}
|
||
else if (cap==0x4203) vitesse=5;
|
||
else if (cap==0x5202) vitesse=40;
|
||
else if (cap==0x7602) vitesse=5;
|
||
else if (cap==0x7610) vitesse=0;
|
||
else if (cap==0x7602) vitesse=5;
|
||
else if (cap==0x5604) vitesse=5;
|
||
else vitesse=30;
|
||
break;
|
||
|
||
break;
|
||
}
|
||
|
||
|
||
|
||
|
||
LED_J=1;
|
||
dly_tsk(100);
|
||
LED_J=0;
|
||
dly_tsk(100);
|
||
// LED_R=1;
|
||
// dly_tsk(100);
|
||
// LED_R=0;
|
||
// dly_tsk(100);
|
||
LED_R=1;
|
||
dly_tsk(100);
|
||
LED_R=0;
|
||
dly_tsk(100);
|
||
}
|
||
}
|
||
|
||
... | ... | |
LED_V=!LED_V;
|
||
}
|
||
|
||
|
branch/nan_cao/Emb_App/conf_noyau.cfg | ||
---|---|---|
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = affichage();
|
||
name = ID_affichage;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 7;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = periph_tx();
|
Formats disponibles : Unified diff
Séance 6