Bueno foreros explico mi problema, en mi PC hice un formulario en VB.NET y envio un total de 7 datos
CODIGO EN VB.NET
SerialPort1.Write(freca)
SerialPort1.Write(frere)
SerialPort1.Write(tieca)
SerialPort1.Write(tierec)
SerialPort1.Write(tierel)
SerialPort1.Write(tiecon)
SerialPort1.Write(tiese)
este ultimo valor tiese, puede ser por ejemplo 30, lo envio por el puerto serial y los recibo los datos en mi pic, uso programacion en CCS, pero solo quiero recibir los datos 1 sola vez para poder trabajar con ellos, recibo los datos de la siguiente manera en C
void variables()
{
freca=getc();
frere=getc();
tieca=getc();
tierec=getc();
tierel=getc();
tiecon=getc();
tiese=getc();
}
estos datos los despliego en un LCD para ver si es que mis variables que me estan llegando son correctas, ademas, uso un Virtual Terminal del proteus, para ver si efectivamente los datos estan llegando, por el Virtual Terminal si puede verse que envio el dato 30, pero cuando lo despliego por el LCD, el valor que me manda es solo 3, eso queire decir q mi variable no es la que deberia (pasa esto cono todos los numeros mayores a 9), necesito una solucion urgente porfavor
PS.- Tengo claro que los datos me llegan en ASCII es por eso que los datos (1-9) me llegan como (49-58) y les resto 48 para vovlerlos decimales. Para desplegar mis datos en el LCD guardo mis variables en otra variable tipo CHAR para poder desplegar mis datos