Detener comunicación Uart.

Hola, soy nuevo y me gustaría ver si alguien me podría ayudar con mi duda.
Lo que pasa es que estoy haciendo una comunicación serial entre un pic 18f2550 utilizando Mikro c y matlab.
Estoy mandando 3 señales adc diferentes del pic ya que mido tres cosas diferentes y hasta ahí lo hace, el problema es que cuando para la lectura y mando a llamar otra señal para que me la muestre, me sigue mandando la primera señal que seleccione.

Utilizo esta forma de identificar la señal de entrada y dentro de esta es la toma de la lectura y el paro de la misma. y si me hace el paro según la simulación. Pero al pedir la otra lectura me sigue mandando la que seleccione primero.

El cambio de lectura las indicio con una serie de palabras que mando desde matlab las cuales son SVdc, IVdc y también SVac, IVac y la estructura de las ac es la misma que el if del dc. Osea que es la misma a la que estoy poniendo aquí.


Código:
if(recive[0]=='I' && recive[1] == 'V' && recive[2]=='d' && recive[3]=='c')
{
while(1)
{
adc_Vac=ADC_Read(2);; //conversion de analogico a digital (0-1023)
IntToStr(adc_Vac,adc_txtVac); //Convierte el tipo int a tipo char
UART1_Write_Text(adc_txtVac); //Escribir un string en el uart

if (UART1_Data_Ready() == 1) //Se vuelve a leer la entrada
{
recive[i]=UART1_Read(); // Guardamos el valor o caracter
UART1_Read_Text(recive,".",11); // Leer el dato hasta que encuentre un "." o termine de leer los

if(recive[0]=='S' && recive[1] == 'V' && recive[2]=='d' && recive[3]=='c')
{
break;
}
}

}
}

Les agradecería mucho su ayuda en verdad.
 
Arriba