EDITO:
hola bueno edito este mismo hilo para hacer mejor la pregunta, reuslta que tengo un sensor de distancia ultrasonico el cual me entrega 5 digitos, los cuales corresponden 2 a control y los otros tres a los datos de medicion. esto se compone de una trama como sigue:
primero el sensor envia una R (mayuscula), seguido de 3 digitos, que equivalen a la distancia, con una distancia maxima de 765 cm. y por ultimo un retorno de carro igual a 0x0D. el punto que estoy midiendo estos valores pero el punto que que mi codigo no esta leyendo bien esto por que solo me entrega siertos numero y no los 3 numeros que tiene que ser para la distancia, en efecto mido esto y si varia, en cuanto a sentimetros, pero como digo no es correcta la lectura, y no se porque, es por esto que queria ver si me pueden ayudar a saver por que no me lee bien los datos el codigo, para que asi me entregue una lectura correcta.
a todo esto el sensor se comunica con el pic por medio de la comunicacion serial.
#INCLUDE <16F877a.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT
#USE delay (clock=20000000) //clock=20Mhz
#USE rs232(baud=9600,parity=N,xmit=PIN_C6, rcv=PIN_C7,bits=8) //Configuracion del puerto serie....
#DEFINE use_portd_lcd TRUE //definir portb lcd
#INCLUDE<LCD420puertD.c> //libreria manejo lcd de 20x4 modificada por suky para el puerto D
#INCLUDE <stdlib.h>
#include <string.h>
char lectura,destino[6],dato[6];
float convert=0;
int x=0;
#int_RDA
void RDA_isr(void)
{
lectura=getc();
dato[x++]=lectura;
if(lectura==0x52){
x=0;
}
else if(lectura==0x0D){
strcpy( destino, dato );
x=0;
}
}
void main() {
////////////////////////////////////////// INICIALIZACIONES GENERALES
lcd_init();
enable_interrupts(INT_RDA); //avilito interrupcion de resepcion serial
enable_interrupts(GLOBAL); // avilito todo lo necesario...
output_low(PIN_C0); //pone en cero el sensor2
output_low(PIN_C1); //pone en uno el sensor1
While(TRUE){ //infinito..........
convert=atof(destino);
lcd_gotoxy( 1, 1);
printf(lcd_putc,"%f"convert);
}}
saludos y espero que me puedan ayudar como siempre
