Révision 71
Ajouté par melepogam il y a plus de 6 ans
branch/lepogam/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff002a
|
||
RESET=ff002e
|
branch/lepogam/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned int alpha=0;
|
||
unsigned int distance=0;
|
||
unsigned int vitesse=0;
|
||
unsigned int distance_ref=722;
|
||
unsigned int couleur=0; // vert -> ligne droie
|
||
unsigned int distance_ref=700;
|
||
unsigned int consigne=450;
|
||
unsigned int consigne_vitesse=40;
|
||
unsigned int consigne_vitesse=60;
|
||
unsigned int vitesse_min=28;
|
||
unsigned int valeur_t=0;
|
||
unsigned int valeur_r=0;
|
||
int k1=1;
|
||
int k2=2;
|
||
int k1=2;
|
||
int k2=1;
|
||
|
||
void asserv_tourelle(){
|
||
|
||
... | ... | |
comm.data.rtr=0;
|
||
comm.data.val=valeur_t;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
dly_tsk(50);
|
||
}
|
||
}
|
||
|
||
... | ... | |
demande.data.id='U';
|
||
demande.data.rtr=1;
|
||
|
||
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
|
||
distance=periph[ADDR('U')].val; // contient la valeur de retour du simulateur.
|
||
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
|
||
if (periph[ADDR('U')].val<1000) distance=periph[ADDR('U')].val; // contient la valeur de retour du simulateur.
|
||
|
||
|
||
comm.data.id='D';
|
||
comm.data.rtr=0;
|
||
comm.data.val=valeur_r;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(6);
|
||
}
|
||
|
||
}
|
||
... | ... | |
CanFrame reponse;
|
||
while(1){
|
||
|
||
dly_tsk(400);
|
||
comm.data.id='V'; //envoi consigne vitesse
|
||
comm.data.rtr=0;
|
||
comm.data.val=vitesse;
|
||
snd_dtq (CanTx,comm.msg);
|
||
|
||
demande.data.id='C';
|
||
demande.data.rtr=1;
|
||
|
||
snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
|
||
couleur=periph[ADDR('C')].val>>2; // contient la valeur de retour du simulateur.
|
||
dly_tsk(100);
|
||
}
|
||
}
|
||
void asserv3(){
|
||
if(vitesse!=consigne_vitesse) vitesse++;
|
||
if(couleur==0x1580 || couleur==0x1581 ) vitesse=consigne_vitesse;
|
||
else{
|
||
vitesse=vitesse_min;
|
||
}
|
||
}
|
||
|
||
void main()
|
||
... | ... | |
|
||
sta_tsk(ID_asserv_tourelle);
|
||
sta_tsk(ID_asserv_roue);
|
||
sta_tsk(ID_asserv_vitesse);
|
||
sta_cyc(ID_asserv1);
|
||
sta_cyc(ID_asserv2);
|
||
sta_cyc(ID_asserv3);
|
||
|
||
|
||
|
||
dly_tsk(600);
|
||
sta_tsk(ID_asserv_vitesse);
|
||
sta_cyc(ID_asserv3);
|
||
|
||
while(1)
|
||
{
|
branch/lepogam/Emb_App/conf_noyau.cfg | ||
---|---|---|
name = ID_asserv_tourelle;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
priority = 5;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_asserv_vitesse;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 5;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
Formats disponibles : Unified diff
prise en compte des trous ok