Révision 459
Ajouté par piduvernoi il y a plus de 6 ans
branch/duvernois/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff0020
|
||
RESET=ff0022
|
branch/duvernois/Emb_App/programme_principal_etud.c | ||
---|---|---|
int rotroue;
|
||
|
||
int mask= 0x00FF;
|
||
int maskdepart= 0x7FFF;
|
||
int Go;
|
||
|
||
int maskdepart= 0x8000;
|
||
unsigned int Go;
|
||
int cpt=0;
|
||
|
||
void position ()
|
||
{
|
||
... | ... | |
{
|
||
comm.data.id='D'; comm.data.rtr=0; comm.data.val=rotroue;
|
||
snd_dtq (CanTx,comm.msg);
|
||
|
||
}
|
||
else
|
||
{
|
||
comm.data.id='D'; comm.data.rtr=0; comm.data.val=0;
|
||
snd_dtq (CanTx,comm.msg);
|
||
}
|
||
LED_J=!LED_J;
|
||
dly_tsk(25);
|
||
|
||
dly_tsk(20);
|
||
}
|
||
}
|
||
|
||
... | ... | |
rottourelle=(consignetourelle-alpha);
|
||
comm.data.id='T'; comm.data.rtr=0; comm.data.val=rottourelle;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
dly_tsk(50);
|
||
}
|
||
}
|
||
|
||
... | ... | |
|
||
if (valcapt ==0x5603)
|
||
{
|
||
Gainroue =0;
|
||
consignetele=40;
|
||
Valvitesse=45;
|
||
LED_V=!LED_V;
|
||
|
||
}
|
||
else if (valcapt ==0x4203)
|
||
{
|
||
Valvitesse=10;
|
||
Gainroue=1;
|
||
LED_V=!LED_V;
|
||
consignetele=400;
|
||
|
||
}
|
||
else
|
||
{
|
||
Valvitesse=20;
|
||
}
|
||
|
||
dly_tsk(100);
|
||
dly_tsk(50);
|
||
}
|
||
}
|
||
|
||
... | ... | |
Go=(Valpiste & maskdepart);
|
||
}
|
||
|
||
|
||
void LEDJ()
|
||
{
|
||
if (var <= 0 && var >= 2000)
|
||
{
|
||
LED_J=1;
|
||
}
|
||
else
|
||
{
|
||
LED_J=0;
|
||
}
|
||
dly_tsk(1000);
|
||
|
||
}
|
||
|
||
void noir()
|
||
{
|
||
CanFrame comm;
|
||
... | ... | |
if (valcapt ==0x5601)
|
||
{
|
||
consigneposition= 900;
|
||
Valvitesse=25;
|
||
Valvitesse=20;
|
||
consignetele=300;
|
||
}
|
||
else if (valcapt ==0x4a01)
|
||
... | ... | |
}
|
||
else if (valcapt ==0x5602)
|
||
{
|
||
consignetele=50;
|
||
consignetele=40;
|
||
}
|
||
else if (valcapt ==0x5202)
|
||
{
|
||
... | ... | |
}
|
||
else if (valcapt ==0x5603)
|
||
{
|
||
Valvitesse=42;
|
||
consignetele=40;
|
||
Valvitesse=43;
|
||
consignetele=20;
|
||
}
|
||
else if (valcapt ==0x4203)
|
||
{
|
||
... | ... | |
Valvitesse=25;
|
||
consigneposition= 850;
|
||
consignetele=300;
|
||
}
|
||
dly_tsk(20);
|
||
}
|
||
|
||
|
||
|
||
dly_tsk(40);
|
||
}
|
||
}
|
||
|
||
|
||
... | ... | |
|
||
while(1)
|
||
{
|
||
|
||
consignevitesse=Valvitesse;
|
||
comm.data.id='V';
|
||
comm.data.rtr=0;
|
||
comm.data.val=consignevitesse;
|
||
snd_dtq (CanTx,comm.msg);
|
||
dly_tsk(100);
|
||
}
|
||
|
||
|
||
dly_tsk(200);
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
void Depart()
|
||
{
|
||
CanFrame demande;
|
||
|
||
UINT flag;
|
||
|
||
while(1)
|
||
{
|
||
if (Go!=32768)
|
||
{
|
||
demande.data.id='M';
|
||
demande.data.rtr=1;
|
||
periph[ADDR('M')].ev=0x01;
|
||
snd_dtq(CanTx,demande.msg);
|
||
dly_tsk(10);
|
||
wai_flg(ev_periph,0x01,TWF_ANDW, &flag);
|
||
Valpiste=(periph[ADDR('M')]).val;
|
||
Go=(Valpiste & maskdepart);
|
||
}
|
||
dly_tsk(200);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
void main()
|
||
{
|
||
ports_mcu();
|
||
... | ... | |
sta_cyc(ID_acqui);
|
||
|
||
sta_tsk(ID_periph_rx);
|
||
|
||
sta_tsk(ID_Depart);
|
||
sta_tsk(ID_Piste);
|
||
dly_tsk(1000);
|
||
|
||
if (Nump == 1 || Nump == 5)
|
||
{
|
||
Valvitesse=30;
|
||
consignetele=600;
|
||
Valvitesse=45;
|
||
consignetele=1200;
|
||
consigneposition = 715;
|
||
}
|
||
if (Nump == 2 || Nump == 6)
|
||
... | ... | |
dly_tsk(2000);
|
||
sta_tsk(ID_tourelle);
|
||
sta_tsk(ID_position);
|
||
sta_tsk(ID_LEDJ);
|
||
dly_tsk(2000);
|
||
while(Go==1)
|
||
LED_R=1;
|
||
while(Go==32768)
|
||
{
|
||
sta_tsk(ID_vitesse);
|
||
}
|
||
sta_tsk(ID_vitesse);
|
||
LED_V=1;
|
||
|
||
}
|
||
while(1)
|
||
{
|
||
|
||
|
||
|
||
dly_tsk(100);
|
||
|
||
|
||
... | ... | |
|
||
void acqui()
|
||
{
|
||
LED_R=!LED_R;
|
||
|
||
}
|
||
|
branch/duvernois/Emb_App/conf_noyau.cfg | ||
---|---|---|
name = ID_periph_tx;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
priority = 4;
|
||
initial_start = ON;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_periph_rx;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 2;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_saut;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 2;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_noir;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = Depart();
|
||
name = ID_Depart;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 2;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = LEDJ();
|
||
name = ID_LEDJ;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 1;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
initial_pattern = 0x0000;
|
Formats disponibles : Unified diff
programme de fin de seance avec demarrage après un feu vert