Révision 281
Ajouté par khmbaye il y a plus de 6 ans
branch/mbaye/Emb_App/programme_principal_etud.c | ||
---|---|---|
#include "carte_m32.h"
|
||
#include <math.h>
|
||
|
||
//unsigned int com; //commande
|
||
//int pos_tourelle;
|
||
//int vitesse;
|
||
int pos;
|
||
int dis;
|
||
UINT flag;
|
||
//int a;
|
||
//int b;
|
||
int capt;
|
||
FLGPTN flag;
|
||
|
||
|
||
// Potentiometre: lire les registres ad00 et ad01, les valeurs sont sur 10 bits.
|
||
... | ... | |
// dly_tsk(100);
|
||
|
||
comm.data.id='T'; comm.data.rtr=0;
|
||
comm.data.val=450-pos;
|
||
comm.data.val=1.5*(595-pos);
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
}
|
||
... | ... | |
//dly_tsk(100);
|
||
|
||
comm.data.id='D'; comm.data.rtr=0;
|
||
comm.data.val=-(450-dis);
|
||
comm.data.val=-1.5*(595-dis);
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
}
|
||
}
|
||
void vitesse_roue()
|
||
{
|
||
CanFrame comm;
|
||
dly_tsk(3000);
|
||
comm.data.id='V'; comm.data.rtr=0;
|
||
comm.data.val=15;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
CanFrame comm;
|
||
dly_tsk(3000);
|
||
comm.data.id='V'; comm.data.rtr=0;
|
||
comm.data.val=10;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
}
|
||
void info_capt()
|
||
{
|
||
CanFrame req;
|
||
req.data.id='C'; req.data.rtr=1;
|
||
periph[ADDR('C')].ev= 0x01;
|
||
snd_dtq (CanTx,req.msg);
|
||
wai_flg(event, (FLGPTN) 0x0007, TWF_ANDW, &flag);
|
||
capt = periph[ADDR('C')].val;
|
||
dly_tsk(100);
|
||
clr_flg(event,~flag);
|
||
}
|
||
void main()
|
||
{
|
||
... | ... | |
sta_tsk(ID_asserv_T);
|
||
sta_tsk(ID_dist_T);
|
||
sta_tsk(ID_vitesse_roue);
|
||
|
||
sta_tsk(ID_info_capt);
|
||
|
||
while(1)
|
||
{
|
branch/mbaye/Emb_App/conf_noyau.cfg | ||
---|---|---|
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = info_capt();
|
||
name = ID_info_capt;
|
||
stack_size = 512;
|
||
stack_section = stack;
|
||
priority = 10;
|
||
initial_start = ON;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = periph_tx();
|
||
name = ID_periph_tx;
|
||
stack_size = 256;
|
Formats disponibles : Unified diff
Asservissement piste bleue presque achevée
Trouver comment passer devant les trous