Projet

Général

Profil

« Précédent | Suivant » 

Révision 509

Ajouté par sabeaussan il y a plus de 6 ans

commit fin

Voir les différences:

branch/beaussant/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff0064
RESET=ff0066
branch/beaussant/Emb_App/crt0mr.a30
; after reset,this program will start
;-----------------------------------------------------------------
__SYS_INITIAL:
LDC #__Sys_Sp,ISP ; set initial ISPl
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
int commandeR=0;
short consigne=450;
int dist_obs=0;
int dist_consigne=702;
int dist_consigne=699;
int cmpt;
char kt=3;
int borne=0;
......
unsigned short modeCourse=0;
char etat_feu=0;
char num_piste=0;
char nbTour=0;
void envoieFrame(unsigned char id, unsigned short val)
......
/*void clavier(){
//while(1){
rcv_dtq(QdmTouche,&touche.msg);
consigne=touche.data.val;
c=consigne;
//lcd_putc(c);
//}
}*/
unsigned short acquiFrame(unsigned char id)
{
unsigned short valAcqui;
......
}
sta_tsk(ID_asserv_r);
sta_tsk(ID_asserv_v);
sta_tsk(ID_cmptT);
}
......
commandeT=kt*(consigne-pos_obs);
envoieFrame('T',commandeT);
pos_obs=acquiFrame('R');
dly_tsk(10);
dly_tsk(15);
}
}
......
char num_capt;
char couleur_capt;
dist_obs=acquiFrame('U');
num_piste=modeCourse;
while(1){
dist_obs=acquiFrame('U');
val_capt=acquiFrame('C');
......
dist_obs=acquiFrame('U');
}
dly_tsk(10);
dly_tsk(5);
}
}
void comptageTour(){
while(1){
if(val_capt==67){
while(val_capt!=86) dly_tsk(20);;
nbTour++;
}
}
dly_tsk(20);
}
void asserv_vitesse()
{
while(1)
{
if(Bp_G==1)
if(Bp_G==1 || nbTour==3)
{
commandeV=0;
}
else
{
dans=intervalle(commandeR,15);
dans=intervalle(commandeR,10);
switch(val_capt)
{
case 99:
......
kr=0;
break;
case 106:
commandeV=2;
commandeV=7;
kr=0.8;
break;
case 118:
commandeV=35;
commandeR=-11;
commandeV=50;
commandeR=-7;
envoieFrame('D',commandeR);
kr=0;
break;
case 114:
case 114: //tron?on psite noire bosse
commandeV=10;
kr=1.5;
while(val_capt!=82 && val_capt!=67)
kr=1.2;
case 66:
if(num_piste==3||num_piste==4)
{
if(val_capt==86)
commandeV=13;
kr=0.7;
}
else{
commandeV=30;
kr=1.4;
}
break;
case 74:
if(num_piste==4)
{
commandeV=25;
kr=1;
while(val_capt!=82 && val_capt!=67)
{
borne=687;
kr=0.4;
if(val_capt==86)
{
borne=687;
kr=1;
}
dly_tsk(30);
borne=0;
}
dly_tsk(30);
}
borne=0;
else{
commandeV=30;
kr=1.4;
}
break;
case 66:
commandeV=20;
kr=0.8;
break;
default:
if(dans==1)
{
commandeV=65;
kr=0.6;
commandeV=60;
kr=1;
}
else
{
commandeV=35;
kr=1.7;
commandeV=32;
kr=1.4;
}
break;
}
}
dly_tsk(30);
dly_tsk(5);
}
}
/*int virage()
{
if(commandeR==0 && dist_obs<dist_consigne) return 1;
else
}*/
void acqui()
{
branch/beaussant/Emb_App/conf_noyau.cfg
};
task[]{
entry_address = ctrl_t();
name = ID_ctrlt;
stack_size = 256;
stack_section = stack;
priority = 4;
priority = 6;
initial_start = OFF;
exinf = 0x0;
};
task[]{
entry_address = comptageTour();
name = ID_cmptT;
stack_size = 256;
stack_section = stack;
priority = 7;
initial_start = OFF;
exinf = 0x0;
};
task[]{
entry_address = asserv_roue();
name = ID_asserv_r;
stack_size = 256;
stack_section = stack;
priority = 3;
priority = 4;
initial_start = OFF;
exinf = 0x0;
};
......
name = ID_asserv_v;
stack_size = 256;
stack_section = stack;
priority = 3;
priority = 5;
initial_start = OFF;
exinf = 0x0;
};
......
name = ID_depart;
stack_size = 256;
stack_section = stack;
priority = 5;
priority = 7;
initial_start = OFF;
exinf = 0x0;
};

Formats disponibles : Unified diff