Projet

Général

Profil

« Précédent | Suivant » 

Révision 352

Ajouté par anfichot1 il y a plus de 6 ans

fin séance3

Voir les différences:

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