Projet

Général

Profil

« Précédent | Suivant » 

Révision 386

Ajouté par sabeaussan il y a plus de 6 ans

rouge ok

Voir les différences:

branch/beaussant/Emb_App/crt0mr.a30
; after reset,this program will start
;-----------------------------------------------------------------
__SYS_INITIAL:
LDC #__Sys_Sp,ISP ; set initial ISP
LDC #__Sys_Sp,ISP ; set initial ISPl
MOV.B #2,0AH
MOV.B #00,PMOD ; Set Processor Mode Register
branch/beaussant/Emb_App/programme_principal_etud.c
//CanFrame touche;
short consigne=450;
int dist_obs=0;
int dist_consigne=705;
int dist_consigne=703;
int cmpt;
char kt=3;
char kv=10;
float kr=1.5;
//char c;
int in;
FLGPTN flag;
int is_stable=0;
int dans;
int est_stable=0;
......
comm.data.id=id;
comm.data.rtr=0;
comm.data.val=val;
snd_dtq (CanTx,comm.msg);
snd_dtq(CanTx,comm.msg);
}
void main()
{
{
ports_mcu();
lcd_init();
periph_init();
periph_nom("#LeBolide*");
can_init();
clavier_init(1);
capture_init();
// sta_cyc(ID_acqui);
capture_init();
sta_tsk(ID_ctrlt);
sta_tsk(ID_depart);
sta_tsk(ID_periph_rx);
sta_tsk(ID_periph_rx);
while(1){};
}
int intervalle(int val,int borne)
......
while(est_stable!=1){
dist_obs=acquiFrame('U');
if(dist_obs<1000){
commandeR=-1*kr*(dist_consigne-dist_obs);
envoieFrame('D',commandeR);
est_stable=stable();
commandeR=-1*kr*(dist_consigne-dist_obs);
envoieFrame('D',commandeR);
est_stable=stable();
}
dly_tsk(10);
}
......
val_capt=acquiFrame('C');
val_capt=val_capt>>8;
envoieFrame('V',commandeV);
if((dist_obs<900 && val_capt!=99) || val_capt==106){
if((dist_obs<900 && val_capt!=99 && dist_obs>0)){
commandeR=-1*kr*(dist_consigne-dist_obs);
envoieFrame('D',commandeR);
dist_obs=acquiFrame('U');
......
void asserv_vitesse(){
while(1){
dans=intervalle(commandeR,15);
if(dans==1 && val_capt!=99){
commandeV=60;
kr=0.5;
if(val_capt==99)
{
commandeV=45;
kr==0;
}
else if(val_capt==66)
else if(val_capt==106 || val_capt==66)
{
commandeV=15;
commandeV=10;
kr=0.8;
}
else if(dans==0 && val_capt!=99)
else if(dans==1 && val_capt!=99)
{
commandeV=35;
kr=1.5;
commandeV=70;
kr=0.7;
}
else if(val_capt==99 && commandeV!=10)
else if(dans==0 && val_capt!=106)
{
commandeV=60;
dly_tsk(300);
commandeV=10;
commandeV=30;
kr=1.5;
}
dly_tsk(30);
}
}
}
/*int virage()
{

Formats disponibles : Unified diff