Revision 445

View differences:

branch/porte/Emb_App/SessionM32C_E8a_system.ini
25 25
[Target]
26 26
M32C E8a SYSTEM=Renesas Communications
27 27
[USER_DATA]
28
RESET=ff0088
28
RESET=ff00b4
branch/porte/Emb_App/programme_principal_etud.c
139 139
unsigned short Vitesse_vert=50,Vitesse_bleu=37,Vitesse_rouge=30, Vitesse_noir=12;
140 140
unsigned short Vitesse_vert_virage=33, Vitesse_bleu_virage=28, Vitesse_rouge_virage=23, Vitesse_rouge_saut=45;					
141 141
//Variable de la fonction Capteur
142
unsigned int Info_capteur, couleur_capteur, num_capteur;
142
unsigned int Info_capteur, couleur_capteur, num_capteur, num_capteur_pre;
143 143
//Variable de la fonction Distance_bord
144 144
unsigned int Bord_defaut=0, ecart=500, distance_bord_vert=810, distance_bord=780, distance_bord_noir=500;
145 145
//Variable des fonctions IHM
......
147 147
short Temps=0, centaine, dizaine, unite;
148 148
char Temps_char_unite=0x30, Temps_char_dizaine=0x30, Temps_char_centaine=0x30;
149 149
//Variable de la fonction Circuit
150
unsigned int Info_circuit, Etat_feu, Num_circuit=0, Depart_ok=0, Arret_urgence=0;
150
unsigned int Info_circuit, Etat_feu, Num_circuit=0, Depart_ok=0, Arret_urgence=0, tour=0, test_tour=1;
151 151
//Variable de la fonction Evenement
152 152
unsigned int Lecture_eve;
153 153
FLGPTN test;
......
351 351
		Info_capteur=periph[ADDR('C')].val; 		// contient la valeur de retour du simulateur sur le dernier capteur touch?.
352 352
		couleur_capteur=Info_capteur >> 4;
353 353
		num_capteur=Info_capteur << 4;
354
		num_capteur_pre=num_capteur;
354 355
		
356
		if(num_capteur_pre != num_capteur){test_tour=1;}
357
		if(num_capteur == 0x6050 && test_tour == 1 ){ tour=tour+1; test_tour=0;}			//compte le nombre de tour
358
		if(tour == 3){Arret_urgence = 1;}					//Arret de la voiture apr?s 3 tours
359
		
355 360
		dly_tsk(100);
356 361
	}
357 362
	
......
404 409
				}
405 410
			break;
406 411
			case 4:
407
				if(Distance > distance_bord_noir+ecart  || Distance < distance_bord_noir-ecart){
412
				if(Distance > distance_bord+ecart  || Distance < distance_bord-ecart){
408 413
				Bord_defaut=1;
409 414
				}
410 415
				else{
......
412 417
				}
413 418
			break;
414 419
			default : 
415
				if(Distance > distance_bord_noir+ecart  || Distance < distance_bord_noir-ecart){
420
				if(Distance > distance_bord+ecart  || Distance < distance_bord-ecart){
416 421
				Bord_defaut=1;
417 422
				}
418 423
				else{
......
474 479
		if(Bp_D == 0){
475 480
			lcd_init();
476 481
			switch(Num_circuit){		
477
				case 1:		lcd_str("VERT");	break;
478
				case 2:		lcd_str("BLEU");	break;
479
				case 3:		lcd_str("ROUGE");	break;
480
				case 4:		lcd_str("NOIR");	break;
482
				case 1:		lcd_str("P:VERT");	break;
483
				case 2:		lcd_str("P:BLEU");	break;
484
				case 3:		lcd_str("P:ROUGE");	break;
485
				case 4:		lcd_str("P:NOIR");	break;
481 486
				default :	lcd_str("Inconnu");	
482 487
			}
483 488
			lcd_putc('|');
484 489
			switch(couleur_capteur){		
485
				case 0x560:		lcd_str("VERT");	break;
486
				case 0x430:		lcd_str("NOIR");	break;
487
				case 0x520:		lcd_str("ROUGE");	break;
488
				case 0x4a0:		lcd_str("JAUNE");	break;
489
				case 0x420:		lcd_str("BLEU");	break;
490
				case 0x630:		lcd_str("CYAN");	break;
490
				case 0x560:		lcd_str("C:VERT");	break;
491
				case 0x430:		lcd_str("C:NOIR");	break;
492
				case 0x520:		lcd_str("C:ROUGE");	break;
493
				case 0x4a0:		lcd_str("C:JAUNE");	break;
494
				case 0x420:		lcd_str("C:BLEU");	break;
495
				case 0x630:		lcd_str("C:CYAN");	break;
491 496
				default :	lcd_str("!!");	
492 497
			}
493 498
			lcd_putc('|');

Also available in: Unified diff