Révision 86
Ajouté par nacao il y a plus de 6 ans
branch/nan_cao/Emb_App/programme_principal_etud.c | ||
---|---|---|
lcd_putc('.');
|
||
}
|
||
}
|
||
|
||
*/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
int distance;
|
||
/*
|
||
|
||
|
||
void mesureR(){
|
||
CanFrame demande;
|
||
CanFrame reponse;
|
||
CanFrame comm;
|
||
unsigned int alpha;
|
||
int g=1;
|
||
float alpha;
|
||
float angle=45;
|
||
// float erreur;
|
||
int g=5;
|
||
while(1){
|
||
dly_tsk(10);
|
||
demande.data.id='R';
|
||
... | ... | |
snd_dtq (CanTx,demande.msg);
|
||
rcv_dtq (CanRx,&reponse.msg);
|
||
alpha=reponse.data.val;
|
||
|
||
alpha=alpha/10;
|
||
// erreur = angle-alpha;
|
||
|
||
comm.data.id='T';
|
||
comm.data.rtr=0;
|
||
comm.data.val=g*(alpha-45);
|
||
if (alpha!=angle)comm.data.val=(alpha-angle)*g;
|
||
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
|
||
}
|
||
|
||
*/
|
||
|
||
void mesureR(){
|
||
CanFrame comm;
|
||
int g=1;
|
||
|
||
|
||
while(1){
|
||
dly_tsk(10);
|
||
comm.data.id='T';
|
||
comm.data.rtr=0;
|
||
comm.data.val=g*45;
|
||
snd_dtq(CanTx, comm.msg);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
void mesureD(){
|
||
CanFrame demande;
|
||
CanFrame reponse;
|
||
... | ... | |
while(1){
|
||
dly_tsk(10);
|
||
demande.data.id='U';
|
||
demande.data.rtr=1; distance=reponse.data.val;
|
||
demande.data.rtr=1;
|
||
distance=reponse.data.val;
|
||
snd_dtq (CanTx,demande.msg);
|
||
}
|
||
}
|
||
... | ... | |
CanFrame demande;
|
||
CanFrame reponse;
|
||
|
||
while(1){
|
||
while(1){
|
||
|
||
demande.data.id='D';
|
||
demande.data.rtr=0;
|
||
demande.data.val=1*(distance-800);
|
||
demande.data.val=1*(distance-50);
|
||
snd_dtq(CanTx,demande.msg);
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
|
||
|
||
void commandeV(){
|
||
CanFrame demande;
|
||
CanFrame reponse;
|
||
|
||
while(1){
|
||
dly_tsk(5);
|
||
demande.data.id='V';
|
||
demande.data.rtr=0;
|
||
demande.data.val=0;
|
||
snd_dtq(CanTx,demande.msg);
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
void main()
|
||
{
|
||
CanFrame comm;
|
||
... | ... | |
|
||
|
||
// sta_tsk(tache5);
|
||
// sta_tsk(tache4);
|
||
sta_tsk(tache4);
|
||
sta_tsk(tache3);
|
||
sta_tsk(tache2);
|
||
sta_tsk(tache1);
|
||
... | ... | |
// sta_tsk(ID_periph_rx);
|
||
|
||
|
||
|
||
|
||
comm.data.id='V';
|
||
comm.data.rtr=0;
|
||
comm.data.val=20;
|
||
snd_dtq(CanTx, comm.msg);
|
||
|
||
// comm.data.id='D';
|
||
// comm.data.rtr=0;
|
||
// comm.data.val=0;
|
branch/nan_cao/Emb_App/conf_noyau.cfg | ||
---|---|---|
name = tache1;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 1;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = commandeV();
|
||
name = tache4;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 5;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
Formats disponibles : Unified diff