Projet

Général

Profil

« Précédent | Suivant » 

Révision 40

Ajouté par maporte3 il y a plus de 6 ans

Mise en place de la boucle de régulation pour une consigne donné

à faire: mise sous la forme de tache.

Voir les différences:

branch/porte/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff0016
RESET=ff001e
branch/porte/Emb_App/programme_principal_etud.c
//'j'/106/06A : R?cup?ration du r?sultat de dernier code envoy?. 0x77 si aucun code n'a ?t? soumis. <0 si la r?ponse n'est pas
// disponible. 0xab avec a-> nombre de couleurs bien plac?es et b -> couleurs pr?sentes mais mal plac?es.
//'I'/73/Ox49 : D?finition du nom du v?hicule. Doit d?buter par le caract?re '#' et entraine le chargement de la configuration de piste
// correspondant au nom du v?hicule si le nom se termine par '*'
// correspondant au nom du v?hicule si le nom se termine par '*'
unsigned int alpha=0,kp=1,consigne=450,depl=0;
void asserv(){
CanFrame requete;
CanFrame reponse;
CanFrame comm;
while(consigne=!alpha){
comm.data.id='T';
comm.data.rtr=0;
requete.data.id='R';
requete.data.rtr=1;
snd_dtq(CanTx, requete.msg);
dly_tsk(10);
rcv_dtq(CanRx, &requete.msg);
alpha=requete.data.val;
depl=kp*alpha;
comm.data.val=depl;
snd_dtq(CanTx, comm.msg);
}
}
void main()
{
unsigned short alpha;
ports_mcu();
lcd_init();
......
while(1)
{
CanFrame comm;
comm.data.id='T';
comm.data.rtr=0;
comm.data.val=450;
snd_dtq(CanTx, comm.msg);
asserv();
}
}
void acqui()
{
LED_V=!LED_V;
}
}

Formats disponibles : Unified diff