Révision 352
Ajouté par anfichot1 il y a plus de 6 ans
branch/fichot/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff001e
|
||
RESET=ff0022
|
branch/fichot/Emb_App/programme_principal_etud.c | ||
---|---|---|
|
||
int k1=4;
|
||
int k2=2;
|
||
UINT flag;
|
||
int k3 = 1;
|
||
unsigned short capt=0;
|
||
unsigned short stop = 0;
|
||
unsigned short vitesse;
|
||
int num_piste;
|
||
int rpiste;
|
||
int saut =0;
|
||
int angle_roue;
|
||
int distance_v;
|
||
|
||
|
||
|
||
CanFrame vit_roue;
|
||
|
||
void demarrer(vitesse)
|
||
... | ... | |
}
|
||
}
|
||
|
||
|
||
void asserv2()
|
||
{
|
||
CanFrame comm;
|
||
CanFrame req, reponse;
|
||
CanFrame req;
|
||
UINT flag;
|
||
short consigne = 710;
|
||
short distance;
|
||
... | ... | |
comm.data.val = 0;
|
||
dly_tsk(10);
|
||
}
|
||
else{
|
||
|
||
else{
|
||
req.data.id = 'U';
|
||
req.data.rtr = 1;
|
||
snd_dtq(CanTx, req.msg);
|
||
distance=periph[ADDR('U')].val;
|
||
//Asservissement
|
||
|
||
rot=k2*(distance-consigne);
|
||
comm.data.id='D';
|
||
comm.data.rtr = 0;
|
||
... | ... | |
}
|
||
|
||
|
||
void capteur(){
|
||
CanFrame req;
|
||
CanFrame comm;
|
||
while (1){
|
||
stop = 0;
|
||
req.data.id = 'C';
|
||
req.data.rtr = 1;
|
||
snd_dtq(CanTx, req.msg);
|
||
capt=periph[ADDR('C')].val;
|
||
stop = 0;
|
||
while(capt==0x7620){
|
||
stop = 1;
|
||
req.data.id = 'C';
|
||
req.data.rtr = 1;
|
||
snd_dtq(CanTx, req.msg);
|
||
capt=periph[ADDR('C')].val;
|
||
demarrer(50);
|
||
comm.data.id='D';
|
||
comm.data.rtr = 0;
|
||
comm.data.val = 0;
|
||
snd_dtq(CanTx,comm.msg);
|
||
dly_tsk(1000);
|
||
}
|
||
dly_tsk(10);
|
||
|
||
|
||
/*void saut_rouge (){
|
||
|
||
while(1){
|
||
if(num_piste1 == 3){
|
||
if( capteur == 0x7620 ){
|
||
dly_tsk(1000);
|
||
saut = 1;
|
||
}
|
||
else {
|
||
saut = 0;
|
||
}
|
||
}
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
|
||
|
||
*/
|
||
|
||
void piste(){
|
||
CanFrame requete;
|
||
... | ... | |
can_init();
|
||
clavier_init(1);
|
||
capture_init();
|
||
|
||
sta_tsk(ID_periph_rx);
|
||
sta_tsk(ID_piste);
|
||
sta_cyc(ID_acqui);
|
||
sta_tsk(ID_periph_rx);
|
||
sta_tsk(ID_asserv_tourelle);
|
||
dly_tsk(1000);
|
||
sta_tsk(ID_asserv2);
|
||
sta_tsk(ID_capteur);
|
||
dly_tsk(2000);
|
||
demarrer(30);
|
||
|
||
while(1){
|
||
|
||
dly_tsk(2000);
|
branch/fichot/Emb_App/conf_noyau.cfg | ||
---|---|---|
//
|
||
// kernel.cfg : building file for MR308 Ver.4.00
|
||
//
|
||
// Generated by M3T-MR308 GUI Configurator at 2018/12/19 15:14:55
|
||
// Generated by M3T-MR308 GUI Configurator at 2018/12/19 17:27:37
|
||
//
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
|
||
// system definition
|
||
system{
|
||
stack_size = 256;
|
||
priority = 11;
|
||
priority = 10;
|
||
system_IPL = 4;
|
||
message_pri = 1;
|
||
timeout = YES;
|
||
... | ... | |
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = capteur();
|
||
name = ID_capteur;
|
||
entry_address = piste();
|
||
name = ID_piste;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 11;
|
||
priority = 4;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
Formats disponibles : Unified diff
fin séance3