Revision 351

View differences:

branch/Styves_POUOTONG/tp_info6/Emb_App/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

  
122
long couleur_capteur;	
123
long capt;
124
long val_capteur;
123 125
void Asserv0()			//asservissemt de la tourelle
124 126
{
125 127
		CanFrame requete; 
......
172 174
		
173 175
		erreur = consigne - dist;
174 176
		cmd = erreur*k;
175
		
176
		comm.data.id = 'D';
177
		comm.data.rtr = 0;		//Indique une ecriture
178
		comm.data.val = cmd;
179
		snd_dtq(CanTx, comm.msg);
177
		if(val_capteur == 0xF4){
178
			comm.data.id = 'D';
179
			comm.data.rtr = 0;		//Indique une ecriture
180
			comm.data.val = 0;
181
			snd_dtq(CanTx, comm.msg);
182
			}
183
		else if(dist < 1000 || val_capteur == 0x80){
184
			comm.data.id = 'D';
185
			comm.data.rtr = 0;		//Indique une ecriture
186
			comm.data.val = cmd;
187
			snd_dtq(CanTx, comm.msg);
188
			}
189
	
180 190
		dly_tsk(10);
181 191
		}
182 192
	}	
183
long couleur_capteur;	
184
long capt;	
193
	
185 194
void capteur()
186 195
{
187 196
	CanFrame req;
197
	CanFrame comm;
188 198
	UINT flag;
189 199
	while(1)
190 200
	{
191
	req.data.id = 'C';
192
	req.data.rtr = 1;
193
	periph[ADDR('C')].ev = 0x01;
194
	snd_dtq(CanTx, req.msg);
195
	dly_tsk(2000);
196
	wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
197
	capt = periph[ADDR('C')].val;
198
	couleur_capteur = capt&0xFF00;
199
		}	
200
			
201
	}
201
		req.data.id = 'C';
202
		req.data.rtr = 1;
203
		periph[ADDR('C')].ev = 0x01;
204
		snd_dtq(CanTx, req.msg);
205
		dly_tsk(200);
206
		wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);
207
		capt = periph[ADDR('C')].val;
208
		couleur_capteur = capt & 0xFF00;
209
		val_capteur = capt & 0x00FF;
210
	}
211
	dly_tsk(10);	
212
}
202 213
void main()
203 214
{
204 215
	CanFrame comm;	
......
206 217
	ports_mcu();
207 218
    lcd_init();
208 219
	periph_init();
209
	periph_nom("#AutoTest*");
220
	periph_nom("#Autoset*");
210 221

  
211 222
    can_init();
212 223
    clavier_init(1);

Also available in: Unified diff