Index: branch/GUIFO/sp4a12/main.c
===================================================================
--- branch/GUIFO/sp4a12/main.c	(revision 901)
+++ branch/GUIFO/sp4a12/main.c	(revision 902)
@@ -204,22 +204,23 @@
 
 //Calcul de la distance à la zone dangereuse la plus proche
 int distance_a_la_proche_zone(Position p, Zone r[],int nb_zones, float *d){
-    int i;
+    int i,indx=0;
     float dist;
     if(nb_zones!=0){
-        (*d)=calcul_distance(p,r[0].rpos);
+        (*d)=calcul_distance(p,r[indx].rpos);//On suppose que la toute première zone du tableau est celle dont la distance est la plus proche
 
         for(i=1;i<nb_zones;i++){
 
-            dist=calcul_distance(p,r[i].rpos);
+            dist=calcul_distance(p,r[i].rpos);//On calcul la distance de notre position aux autres zones
 
-            if(dist<(*d)){
+            if(dist<(*d)){//On compare cette distance calculée à la toute première distance et si elle est inférieure elle devient notre nouvelle zone à distance la plus proche
                 (*d)=dist;
+                indx=i;
             }
         }
 
     }
-    return i;
+    return indx;
 
 }
 //Fonction à modifier !!!!!
Index: branch/GUIFO/sp4c12/TPC/TPC/TPC.c
===================================================================
--- branch/GUIFO/sp4c12/TPC/TPC/TPC.c	(revision 901)
+++ branch/GUIFO/sp4c12/TPC/TPC/TPC.c	(revision 902)
@@ -10,7 +10,7 @@
 /***********************************************************************/
 #include "sfr32c87.h"
 
-
+//Initialisation du port série
 void uart0_init(void)
 {
 //Initialisation des ports
@@ -29,13 +29,13 @@
     ps0_3  = 1;
 
 //Configuration du registre u0mr
-        smd0_u0mr = 1;
-        smd1_u0mr = 0;
-        smd2_u0mr = 1;
-        ckdir_u0mr = 0;
-        stps_u0mr = 0;
-        prye_u0mr = 0;
-        iopol_u0mr = 0;
+    smd0_u0mr = 1;
+    smd1_u0mr = 0;
+    smd2_u0mr = 1;
+    ckdir_u0mr = 0;
+    stps_u0mr = 0;
+    prye_u0mr = 0;
+    iopol_u0mr = 0;
 
 //configuration du rgistre U0SMR
 	u0smr = 0x00;
@@ -66,24 +66,25 @@
 //Configuration des registres s0tic  et s0ric
 	s0tic = 0x00;
 	s0ric = 0x00;
+
+	crs_u0c0 =  0;
+	te_u0c1 = 1;
+	re_u0c1 = 1;
+
 }
 
 void uart0_tx(char c)
 {
 
-    crd_u0c0 = 1;
-    crs_u0c0 = 0;	
-	u0tb     = c;	
-	te_u0c1  = 0;
-	
-	
+    while(ti_u0c1==0);//On attend tant que le registre u0tb n'est pas vide
+	u0tb = c;//Envoi du caractère par écriture dans le registre u0tb
+
 }
 char uart0_rx()
 {
     char c;
-    crd_u0c0 = 1;
-    crs_u0c0 = 0;
-	re_u0c1 = 1;
+
+	while(ri_u0c1==1);//On attend tant que le registre u0rb n'est pas disponible à recevoir un nouveau caractère
 	c= u0rb;
 	return c;
 }
@@ -91,19 +92,47 @@
 {
     char c='A';
     uart0_init();
-    while (1){
-        uart0_tx(c);
-    }
+
+        uart0_rx(c);//Reception du caractère par lecture du registre u0rb
+
 }*/
-void main(void)
+void Alphabet(void)
 {
     char alpha;
-	
-    uart0_init();
-	te_u0c1  = 1;   	
-        for(alpha = 'A' ; alpha <='Z' ; alpha++)
-        {    
-			while(ti_u0c1==0);
-			u0tb=alpha;	
+	for(alpha = 'A' ; alpha <='Z' ; alpha++)
+    {
+        uart0_tx(alpha);
+    }
+}
+/*
+int rectrame(char *buffer){
+	int i=0;
+	char recu;
+	recu=uart0_rx();
+
+	while(recu!='&');//Tant qu'on ne recoit pas le caratère de debut de trame on attend
+	while(recu!='*')//On lit la trame jusqu'au dernier caractère avant *
+	{
+		buffer[i]=recu;
+		i++;
+		recu=uart0_rx();
+	}
+	return i;
+}
+*/
+/* fonction qui transforme un code hexadécimal sur deux caractères en valeur décimale
+int hex2int(char *c){
+	int i,base;
+	for(i=0;i<2;i++){
+		if(c[i]>='0' && c[i]<='9'){//Si le caractère est entre 0 et 9 on retranche 48 pour avoir sa valeur correspondante en decimal d'après la table ASCII
+			c[i]=c[i]-48;
 		}
+		else if(c[i]>='A'&& c[i]<='F'){//Si le caractère est entre A et F on retranche 55 pour avoir sa valeur correspondante en decimal d'après la table ASCII
+			c[i]=c[i]-55;
+		}
+	}
+	base=c[1]+(16*c[0]);
+	return base;
+
 }
+*/
