Projet

Général

Profil

« Précédent | Suivant » 

Révision 46

Ajouté par nacao il y a plus de 6 ans

mesure l'angle et faire bouger l'automobile

Voir les différences:

branch/nan_cao/Emb_App/programme_principal_etud.c
// correspondant au nom du v?hicule si le nom se termine par '*'
void mesureD(){
CanFrame demande;
CanFrame reponse;
CanFrame comm;
unsigned int alpha;
int g=10;
while(1){
dly_tsk(10);
demande.data.id='R';
demande.data.rtr=1;
snd_dtq (CanTx,demande.msg);
rcv_dtq (CanRx,&reponse.msg);
alpha=reponse.data.val;
comm.data.id='T';
comm.data.rtr=0;
comm.data.val=g*(alpha-45);
snd_dtq(CanTx, comm.msg);
}
}
void main()
{
{
CanFrame comm;
CanFrame commD;
ports_mcu();
lcd_init();
periph_init();
......
can_init();
clavier_init(1);
capture_init();
sta_tsk(tache1);
sta_cyc(ID_acqui);
// sta_tsk(ID_periph_rx);
// 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;
snd_dtq(CanTx, comm.msg);
while(1)
{
LED_J=1;
dly_tsk(100);
LED_J=0;
dly_tsk(100);
dly_tsk(100);
// LED_R=1;
// dly_tsk(100);
// LED_R=0;
// dly_tsk(100);
}
}
void acqui()
{
LED_V=!LED_V;
}
}
branch/nan_cao/Emb_App/conf_noyau.cfg
exinf = 0x0;
};
task[]{
entry_address = mesureD();
name = tache1;
stack_size = 512;
stack_section = stack;
priority = 4;
initial_start = OFF;
exinf = 0x0;
};
task[]{
entry_address = periph_tx();
name = ID_periph_tx;
stack_size = 256;

Formats disponibles : Unified diff