Révision 247
Ajouté par casotty il y a plus de 6 ans
branch/sotty/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff0032
|
||
RESET=ff002e
|
branch/sotty/Emb_App/programme_principal_etud.c | ||
---|---|---|
short distance_telemetre(void);
|
||
void vitesse_roue(char vitesse);
|
||
void angle_roue(short angle);
|
||
void asserv_roue(void);
|
||
void asserv_roue(VP_INT stacd);
|
||
int send_requete(unsigned char id_periph);
|
||
void send_commande(unsigned char id_periph, short val);
|
||
|
||
|
||
float distance_mur = 0.0;
|
||
short distance_mur = 0;
|
||
short angle_tourelle = 450;
|
||
|
||
short vit_roue = 30;
|
||
float K_roue = 1.5;
|
||
short vit_roue = 15;
|
||
short K_roue = 1;
|
||
short ang_roue = 0;
|
||
|
||
|
||
char num_piste;
|
||
|
||
|
||
void main()
|
||
{
|
||
int k;
|
||
|
||
init();
|
||
|
||
//Obtention de la couleur du feu
|
||
... | ... | |
dly_tsk(50);
|
||
}
|
||
|
||
sta_tsk(ID_asserv_roue);
|
||
for(k=1 ; k<30 ; k++) {
|
||
vit_roue = k;
|
||
dly_tsk(100);
|
||
}
|
||
|
||
//Obtention de la piste
|
||
num_piste = send_requete('M') & 0x00FF;
|
||
|
||
... | ... | |
LED_J=1;
|
||
dly_tsk(100);
|
||
LED_J=0;
|
||
|
||
|
||
asserv_roue();
|
||
dly_tsk(100);
|
||
}
|
||
}
|
||
|
||
... | ... | |
|
||
}
|
||
|
||
void asserv_roue(void){
|
||
void asserv_roue(VP_INT stacd){
|
||
//Maintient de la voiture au centre de la piste
|
||
short telemetre;
|
||
|
||
while(1){
|
||
//Angle des roues // A enlever de la boucle d'asserv
|
||
distance_mur = distance_telemetre()*sin(3.1415*angle_tourelle/1800.0);
|
||
... | ... | |
angle_roue(ang_roue);
|
||
|
||
vitesse_roue(vit_roue);
|
||
dly_tsk(50);
|
||
}
|
||
}
|
||
|
||
... | ... | |
clavier_init(1);
|
||
capture_init();
|
||
|
||
|
||
sta_tsk(ID_periph_rx);
|
||
sta_cyc(ID_acqui);
|
||
dly_tsk(100);
|
||
sta_tsk(ID_asserv_tourelle);
|
||
sta_tsk(ID_periph_rx);
|
||
|
||
|
||
}
|
branch/sotty/Emb_App/conf_noyau.cfg | ||
---|---|---|
//
|
||
// kernel.cfg : building file for MR308 Ver.4.00
|
||
//
|
||
// Generated by M3T-MR308 GUI Configurator at 2018/12/05 15:47:07
|
||
// Generated by M3T-MR308 GUI Configurator at 2018/12/14 14:08:06
|
||
//
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
|
||
... | ... | |
|
||
// max definition
|
||
maxdefine{
|
||
max_task = 3;
|
||
max_task = 5;
|
||
max_flag = 3;
|
||
max_dtq = 2;
|
||
max_cyh = 2;
|
||
max_cyh = 1;
|
||
max_vdtq = 1;
|
||
};
|
||
|
||
... | ... | |
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = asserv_roue();
|
||
name = ID_asserv_roue;
|
||
stack_size = 1024;
|
||
stack_section = stack;
|
||
priority = 6;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
... | ... | |
};
|
||
|
||
|
||
|
||
vdataqueue[]{
|
||
name = QdmTouche;
|
||
wait_queue = TA_TFIFO;
|
Formats disponibles : Unified diff
Ajout du depart progressif
Asservissement des roues passée en tache