Projet

Général

Profil

« Précédent | Suivant » 

Révision 317

Ajouté par vidaval il y a plus de 6 ans

Tache pour la prise en compte des capteurs commencée.

Voir les différences:

branch/daval/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff002a
RESET=ff0028
branch/daval/Emb_App/programme_principal_etud.c
//Asservissement de la voiture
int distance_mur=700; // Consigne qui permet d etre bien centr? sur la route
char C=1; // Gain asservissment des roues
int vitesse_rapide= 60;//Commande de vitesse que l'on envoie
int vitesse_lente=30;
char vitesse_rapide= 55;//Commande de vitesse que l'on envoie
char vitesse_lente=25;
int distance_mesure=0;
int cap;
//Varaible pour les capteurs
int capteur;
char couleur;
void asservissement_tourelle()
{
CanFrame commande;
......
vitesse.data.rtr=0; //Indique une ecritur
while(1)
{
if(cap<-50 || cap>50)
if(cap<-30 || cap>30)
{
vitesse.data.val=vitesse_lente;
snd_dtq (CanTx,vitesse.msg);
......
cap=C*(distance_mesure-distance_mur);
commande.data.val= cap;
snd_dtq(CanTx, commande.msg);
dly_tsk(10);
dly_tsk(5);
}
}
void detection_capteur(){
CanFrame requete;
UINT flag;
while(1)
{
requete.data.id = 'C';
requete.data.rtr = 1;
periph[ADDR('C')].ev = 0x03;
snd_dtq(CanTx, requete.msg);
wai_flg(ev_periph, 0x03, TWF_ANDW, &flag);
capteur = periph[ADDR('C')].val;
couleur = capteur >> 8;
dly_tsk(10);
}
}
void main()
branch/daval/Emb_App/conf_noyau.cfg
exinf = 0x0;
};
task[]{
entry_address = detection_capteur();
name = ID_detection_capteur;
stack_size = 256;
stack_section = stack;
priority = 7;
initial_start = OFF;
exinf = 0x0;
};
flag[]{
name = ev_bus_fin_tr;
initial_pattern = 0x0000;

Formats disponibles : Unified diff