Revision 165 branch/decroux/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
119 119
//				disponible. 0xab avec a-> nombre de couleurs bien plac?es et b -> couleurs pr?sentes mais mal plac?es.
120 120
//'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
121 121
//				correspondant au nom du v?hicule si le nom se termine par '*'
122
	
123
unsigned int alpha;
124
int k=1;
125
int dis;
126

  
122 127

  
128
void asservissemt_tourelle(void)
129
{
130
	CanFrame comm;
131
	CanFrame requete; 
132
	CanFrame reponse;
133
	comm.data.id='T'; //Commade en vitesse de la tourelle poant le t?l?metre
134
	comm.data.rtr=0; 
135
	comm.data.val=100;
136
	snd_dtq (CanTx,comm.msg);
137
	requete.data.id='R'; //Lecture de l'angle effecif de la tourelle portant le t?l?mtre
138
    requete.data.rtr=1; // Indiquation d'une requ?te d'?criture
139
    snd_dtq (CanTx,requete.msg); // Interrogation du peripherique
140
    rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
141
    alpha=reponse.data.val; // contient la valeur de retour du simulateur.
142
	if(alpha!=450)
143
	{
144
		comm.data.id='T'; //Commade en vitesse de la tourelle poant le t?l?metre
145
		comm.data.rtr=0; 
146
    	comm.data.val=k*(450-alpha);
147
		snd_dtq (CanTx,comm.msg);
148
	}	
149
}
150

  
151
void mesure_distance(void)
152
{
153
	CanFrame requete; 
154
	CanFrame reponse;
155
	requete.data.id='U'; //Distance mesur?e par le t?l?m?tre
156
    requete.data.rtr=1; // Indiquation d'une requ?te d'?criture
157
    snd_dtq (CanTx,requete.msg); // Interrogation du peripherique
158
    rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
159
    dis=reponse.data.val; // contient la valeur de retour du simulateur.
160
}
123 161

  
124 162
void main()
125
{
163
{
164

  
126 165
	ports_mcu();
127 166
    lcd_init();
128 167
	periph_init();
......
136 175
//	sta_tsk(ID_periph_rx);
137 176

  
138 177
    while(1)
139
    {
178
    {
179
		//CanFrame vit;
180
		asservissemt_tourelle();
181
		mesure_distance();
182
		//vit.data.id='V'; //Commande en vitesse des rous moicesd v?icule
183
		//vit.data.rtr=0; 
184
		//vit.data.val=100;
185
		//snd_dtq (CanTx,vit.msg);
140 186
		LED_J=1;
141 187
		dly_tsk(100);
142 188
		LED_J=0;

Also available in: Unified diff