Révision 42
Ajouté par axfont il y a plus de 6 ans
branch/font/Emb_App/programme_principal_etud.c | ||
---|---|---|
// correspondant au nom du v?hicule si le nom se termine par '*'
|
||
|
||
unsigned int alpha;
|
||
unsigned int d;
|
||
unsigned int k = 1;
|
||
unsigned short pot;
|
||
|
||
void lecture_telemetre(){
|
||
CanFrame reponsed, requeted;
|
||
|
||
//Lecture distance mesur?e
|
||
requeted.data.id = 'U';
|
||
requeted.data.rtr = 1;
|
||
snd_dtq(CanTx, requeted.msg);
|
||
|
||
void asserv() {
|
||
rcv_dtq(CanRx, &reponsed.msg);
|
||
d = reponsed.data.val;
|
||
}
|
||
|
||
void tsk_asserv1(){
|
||
CanFrame comm, reponse, requete, m;
|
||
|
||
CanFrame comm, reponse, requete;
|
||
//Contr?le vitesse de rotation de la tourelle
|
||
comm.data.id = 'T';
|
||
comm.data.rtr = 0;
|
||
//asservissement en vitesse
|
||
comm.data.val = k * (ad00 - alpha);
|
||
|
||
//Contr?le vitesse de rotation de la tourelle
|
||
comm.data.id = 'T';
|
||
comm.data.rtr = 0;
|
||
//asservissement en vitesse
|
||
comm.data.val = k * (900 - alpha);
|
||
snd_dtq(CanTx, comm.msg);
|
||
|
||
snd_dtq(CanTx, comm.msg);
|
||
|
||
//Lecture de la position
|
||
requete.data.id = 'R';
|
||
requete.data.rtr = 1;
|
||
snd_dtq(CanTx, requete.msg);
|
||
|
||
rcv_dtq(CanRx, &reponse.msg);
|
||
alpha = reponse.data.val;
|
||
//Lecture de la position
|
||
requete.data.id = 'R';
|
||
requete.data.rtr = 1;
|
||
snd_dtq(CanTx, requete.msg);
|
||
|
||
rcv_dtq(CanRx, &reponse.msg);
|
||
//if (reponse.data.id == 'R'){
|
||
alpha = reponse.data.val;
|
||
//}
|
||
|
||
//d?marrage de la voiture
|
||
/*comm.data.id = 'V';
|
||
comm.data.rtr = 0;
|
||
comm.data.val = 120;
|
||
snd_dtq(CanTx, comm.msg);*/
|
||
}
|
||
|
||
|
||
void main()
|
||
{
|
||
|
||
|
||
{
|
||
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
... | ... | |
|
||
while(1)
|
||
{
|
||
asserv();
|
||
sta_tsk(ID_tsk_asserv1);
|
||
}
|
||
}
|
||
|
branch/font/Emb_App/conf_noyau.cfg | ||
---|---|---|
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = tsk_asserv1();
|
||
name = ID_tsk_asserv1;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 4;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
initial_pattern = 0x0000;
|
Formats disponibles : Unified diff
dernière modification