Révision 474
Ajouté par gamatteozz il y a plus de 6 ans
branch/matteozzi/Emb_App/SessionM32C_FoUSB_UART.hsf | ||
---|---|---|
[HIMDBVersion]
|
||
2.0
|
||
[DATABASE_VERSION]
|
||
"2.2"
|
||
"2.3"
|
||
[SESSION_DETAILS]
|
||
""
|
||
[INFORMATION]
|
||
... | ... | |
[WINDOW_POSITION_STATE_DATA_VD3]
|
||
[WINDOW_POSITION_STATE_DATA_VD4]
|
||
[WINDOW_Z_ORDER]
|
||
[TARGET_NAME]
|
||
"M32C FoUSB/UART" "" 0
|
||
[STATUSBAR_STATEINFO_VD1]
|
||
"MasterShowState" 1
|
||
"ApplicationShowState" 1
|
||
... | ... | |
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
||
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
||
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
||
[TARGET_NAME]
|
||
"M32C FoUSB/UART"
|
||
[DEBUGGER_OPTIONS]
|
||
"Unknown Options"
|
||
[DOWNLOAD_MODULES]
|
||
... | ... | |
"FALSE"
|
||
[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
|
||
"FALSE"
|
||
[DEBUGGER_OPTIONS_PROPERTIES]
|
||
"0"
|
||
[COMMAND_FILES]
|
||
[DEFAULT_DEBUG_FORMAT]
|
||
"IEEE695_RENESAS"
|
branch/matteozzi/Emb_App/SessionM32C_Simulator.hsf | ||
---|---|---|
[HIMDBVersion]
|
||
2.0
|
||
[DATABASE_VERSION]
|
||
"2.2"
|
||
"2.3"
|
||
[SESSION_DETAILS]
|
||
""
|
||
[INFORMATION]
|
||
... | ... | |
[WINDOW_POSITION_STATE_DATA_VD3]
|
||
[WINDOW_POSITION_STATE_DATA_VD4]
|
||
[WINDOW_Z_ORDER]
|
||
[TARGET_NAME]
|
||
"" "" 0
|
||
[STATUSBAR_STATEINFO_VD1]
|
||
"MasterShowState" 1
|
||
"ApplicationShowState" 1
|
||
... | ... | |
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
||
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
||
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
||
[TARGET_NAME]
|
||
""
|
||
[DEBUGGER_OPTIONS]
|
||
""
|
||
[DOWNLOAD_MODULES]
|
||
... | ... | |
"FALSE"
|
||
[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
|
||
"FALSE"
|
||
[DEBUGGER_OPTIONS_PROPERTIES]
|
||
"0"
|
||
[COMMAND_FILES]
|
||
[DEFAULT_DEBUG_FORMAT]
|
||
""
|
branch/matteozzi/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff002a
|
||
RESET=ff005a
|
branch/matteozzi/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned short vitesse;
|
||
unsigned short distance_m;
|
||
unsigned short cons_angl=400;
|
||
unsigned char piste;
|
||
unsigned short cap;
|
||
unsigned feu;
|
||
|
||
|
||
///////////////////////////
|
||
//Declaration des taches///
|
||
///////////////////////////
|
||
... | ... | |
|
||
void commande_vit(){ //commande de la vitesse //TODO a ameliorer
|
||
while(1){
|
||
if (vitesse==10){
|
||
dly_tsk(1000);
|
||
vitesse=30;
|
||
comm.data.id='V';
|
||
comm.data.rtr=0;
|
||
comm.data.val=vitesse;
|
||
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(2000);
|
||
}
|
||
comm.data.id='V';
|
||
comm.data.rtr=0;
|
||
comm.data.val=vitesse;
|
||
... | ... | |
if(val_cap==0x6310){
|
||
comm.data.id='V';
|
||
comm.data.rtr=0;
|
||
comm.data.val=70;
|
||
comm.data.val=45;
|
||
snd_dtq(CanTx, comm.msg);
|
||
dly_tsk(260);
|
||
vitesse=30;
|
||
dly_tsk(600);
|
||
vitesse=10;
|
||
}
|
||
}
|
||
}
|
||
... | ... | |
}
|
||
}
|
||
|
||
void lcd(){
|
||
UINT flag;
|
||
while(1){
|
||
requete.data.id='M'; //demande de la requete C
|
||
requete.data.rtr=1;
|
||
periph[ADDR('M')].ev=0x01; //demande de lecture car rtr=1
|
||
snd_dtq(CanTx, requete.msg); //envoie de la demande dans CanTx
|
||
dly_tsk(50);
|
||
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
|
||
piste=(periph[ADDR('M')].val);
|
||
|
||
requete.data.id='C'; //demande de la requete C
|
||
requete.data.rtr=1;
|
||
periph[ADDR('C')].ev=0x01; //demande de lecture car rtr=1
|
||
snd_dtq(CanTx, requete.msg); //envoie de la demande dans CanTx
|
||
dly_tsk(50);
|
||
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
|
||
val_cap=(periph[ADDR('C')].val);
|
||
|
||
if (piste==0x01){
|
||
lcd_str("Piste verte");break;
|
||
}
|
||
if (piste==0x02){
|
||
lcd_str("Piste bleu");break;
|
||
}
|
||
if (piste==0x03){
|
||
lcd_str("Piste rouge");break;
|
||
}
|
||
if (piste==0x04){
|
||
lcd_str("Piste noire");break;
|
||
}
|
||
}
|
||
}
|
||
|
||
void bouton(){
|
||
while(1){
|
||
if(Bp_G==1){
|
||
vitesse=0;
|
||
LED_R=1;
|
||
dly_tsk(50);
|
||
}
|
||
else{
|
||
vitesse=30;
|
||
LED_R=0;
|
||
}
|
||
}
|
||
}
|
||
|
||
void main()
|
||
{
|
||
{
|
||
UINT flag;
|
||
|
||
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
... | ... | |
sta_tsk(ID_orient_roue);
|
||
sta_tsk(ID_capteur);
|
||
sta_tsk(ID_vitesse);
|
||
sta_tsk(ID_lcd);
|
||
sta_tsk(ID_bouton);
|
||
|
||
dly_tsk(1000);
|
||
|
||
requete.data.id='M'; //demande de la requete C
|
||
requete.data.rtr=1;
|
||
periph[ADDR('M')].ev=0x01; //demande de lecture car rtr=1
|
||
snd_dtq(CanTx, requete.msg); //envoie de la demande dans CanTx
|
||
dly_tsk(50);
|
||
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
|
||
feu=periph[ADDR('M')].val;
|
||
|
||
while((feu&1000000000000000)==0){
|
||
requete.data.id='M'; //demande de la requete C
|
||
requete.data.rtr=1;
|
||
periph[ADDR('M')].ev=0x01; //demande de lecture car rtr=1
|
||
snd_dtq(CanTx, requete.msg); //envoie de la demande dans CanTx
|
||
dly_tsk(50);
|
||
|
||
wai_flg(ev_periph, 0x01, TWF_ANDW, &flag); //recoie la demande dans CanRx
|
||
feu=periph[ADDR('M')].val;
|
||
}
|
||
|
||
vitesse=15;
|
||
dly_tsk(200);
|
||
vitesse=30;
|
||
switch(piste){
|
||
case 0x01:
|
||
vitesse=40;
|
||
break;
|
||
case 0x02:
|
||
vitesse=35;
|
||
break;
|
||
case 0x03:
|
||
vitesse=30;
|
||
break;
|
||
case 0x04:
|
||
vitesse=90;
|
||
break;
|
||
}
|
||
while(1)
|
||
{
|
||
LED_R=0;
|
||
LED_J=0;
|
||
dly_tsk(50);
|
||
LED_R=1;
|
||
LED_J=1;
|
||
dly_tsk(50);
|
||
}
|
||
}
|
branch/matteozzi/Emb_App/conf_noyau.cfg | ||
---|---|---|
//
|
||
// kernel.cfg : building file for MR308 Ver.4.00
|
||
//
|
||
// Generated by M3T-MR308 GUI Configurator at 2018/12/19 17:30:51
|
||
// Generated by M3T-MR308 GUI Configurator at 2019/01/14 14:55:12
|
||
//
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
|
||
// system definition
|
||
system{
|
||
stack_size = 256;
|
||
priority = 15;
|
||
priority = 20;
|
||
system_IPL = 4;
|
||
message_pri = 1;
|
||
timeout = YES;
|
||
... | ... | |
|
||
// max definition
|
||
maxdefine{
|
||
max_task = 7;
|
||
max_task = 9;
|
||
max_flag = 3;
|
||
max_dtq = 2;
|
||
max_cyh = 1;
|
||
... | ... | |
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = lcd();
|
||
name = ID_lcd;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 16;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = bouton();
|
||
name = ID_bouton;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 20;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
Formats disponibles : Unified diff
tache des feu, bouton poussoir partiellement reussi