Projet

Général

Profil

« Précédent | Suivant » 

Révision 420

Ajouté par codiagne il y a plus de 6 ans

Fin piste_rouge, identification de chaque piste, clavier matricé

Voir les différences:

branch/diagne/Emb_App.tws
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\programme_principal_etud.c"
[WORKSPACE_FILE_STATES]
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\conf_noyau.cfg" 25 25 1054 351 0 1
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\crt0mr.a30" -8 -30 1061 539 1 2
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\programme_principal_etud.c" 0 0 1061 539 0 0
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\crt0mr.a30" 0 0 1061 539 0 2
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\programme_principal_etud.c" -8 -30 1061 539 1 0
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\bsp\periph.c" 25 25 895 351 0 4
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\bsp\uart0.c" 0 0 895 351 0 3
[LOADED_PROJECTS]
branch/diagne/Emb_App/SessionM32C_E8a_system.hsf
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF0016"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF0014"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000700"
......
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "capt, 1, 0, P, Col, Hex, MA"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "5"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "piste, 1, 0, P, Col, Hex, MA"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "6"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200"
......
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\programme_principal_etud.c"
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\conf_noyau.cfg"
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\bsp\uart0.c"
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\Emb_App\Debug\mr308.inc"
"E:\tp_info6_2018_diagne\tp_info6\tp_info6\bsp\periph.c"
[TARGET_NAME]
"M32C E8a SYSTEM" "" 0
[STATUSBAR_STATEINFO_VD1]
......
[FLASH_DETAILS]
"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" ""
[BREAKPOINTS]
"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 100013840 1 "{00000000-0000-0000-C000-000000000046}" ""
"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 100357456 1 "{00000000-0000-0000-C000-000000000046}" ""
[END]
branch/diagne/Emb_App/programme_principal_etud.c
comm.data.id='D'; //commande angle des roues
comm.data.rtr=0;
//Pour la piste verte: comm.data.val= -(450-distance)
//Pour eviter les trous de la piste bleue et garder le vehicule au milieu de la piste
if (piste==0x0007)
if (piste==0x001) //piste verte
{
comm.data.val=-(450-distance);
snd_dtq(CanTx,comm.msg);
dly_tsk(10);
}
else if (piste==0x002) //piste bleue
{
if (distance >1000) new_distance=707;
else new_distance=distance;
comm.data.val=1*(new_distance-707);
snd_dtq(CanTx,comm.msg);
dly_tsk(10);
}
if(capt==0x7604){
comm.data.val=0;
snd_dtq(CanTx,comm.msg);
else if (piste==0x0003) //piste rouge
{
if(capt==0x7604)
{
comm.data.val=0;
snd_dtq(CanTx,comm.msg);
}
else{
if (distance >1000)//On compare la distance mesur?e par le telemtetre
{
new_distance=710;
}
else new_distance=distance;
comm.data.val=1*(new_distance-710); // On la garde bien au milieu de la piste
snd_dtq(CanTx,comm.msg);}
dly_tsk(10);
}
else
{
comm.data.val=(450-distance);
snd_dtq(CanTx,comm.msg);
}
else
{
if (distance >1000)//On compare la distance mesur?e par le telemtetre
new_distance=680;
else new_distance=distance;
comm.data.val=1*(new_distance-680); // On la garde bien au milieu de la piste
snd_dtq(CanTx,comm.msg);
}
dly_tsk(10);
}
}
}
void Avancer(){
dly_tsk(6000);
while(1)
{ if (piste==0x0007)
{
CanFrame req;
{ CanFrame req;
req.data.id='V';
req.data.rtr=0;
if (capt==0x7604)
switch (piste)
{
req.data.val=45;
case 0x001:
req.data.val=30;
snd_dtq(CanTx,req.msg);
}
else{
if (capt==0x4203)
break;
case 0x002:
req.data.val=19;
snd_dtq(CanTx,req.msg);
break;
case 0x0003:
if (capt==0x7604)
{
req.data.val=7;
snd_dtq(CanTx,req.msg);
}
else
{
req.data.val=30;
snd_dtq(CanTx,req.msg);
req.data.val=45;
snd_dtq(CanTx,req.msg);
}
else{
if (capt==0x4203)
{
req.data.val=5;
snd_dtq(CanTx,req.msg);
}
else
{
req.data.val=30;
snd_dtq(CanTx,req.msg);
}
}
break;
}
}
} }
}
}
void clavier()
{
char sequence[10]={0};
short code_touche;
int index = 1;
while(1)
{
vrcv_dtq(QdmTouche, &code_touche);
lcd_putc(code_touche);
while(code_touche != '*')
{
if(code_touche == '#')
{
sequence[0] = code_touche;
}
else
{
sequence[index] = code_touche;
index++;
}
vrcv_dtq(QdmTouche, &code_touche);
lcd_putc(code_touche);
}
sequence[index] = '*';
//consigne_tour = decode_int(sequence);
index=1;
dly_tsk(200);
}
}
void main()
{
CanFrame req,reponse,comm;
......
sta_tsk(ID_roue);
sta_tsk(ID_capteur);
sta_tsk(ID_piste);
// sta_tsk(ID_roue_rouge);
while(1)

Formats disponibles : Unified diff