hola como estan bueno les coment oque tengo wel siguiete problemilla y no C que puede ser.
hice un programa que muestra un valor tanto en la LCD y en el pc por el puerto serie, pero el punto que todo funciona bien asta que lo simulo en proteus pero lo raro que = funciona pero el mensaje que me arroja por el puerto serie hacia el pc no queda fijo, sino que se repite indefinidamente en mensaje hacia al lado y no C que puede ser bueno el codigo es el sgt:
#include <16f873a.h> //pic a utilizar
#device adc=10 // Conversión con 10 bits
#fuses HS,NOWDT,NOPROTECT,PUT,NOLVP,NOBROWNOUT //ordenes para el programador
#use delay (clock=4000000) //clock=4Mhz
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, FORCE_SW) //manejo del RS232
#define use_portb_lcd TRUE //definir portb lcd
#include<lcd.c> //libreria manejo lcd
int16 Valor; // para 10 bits
float const resolucion= 5.0/1024.0; // Conversión con 10 bits
float voltios;
signed char x=16; //indice filas
void main()
{
lcd_init(); //inicializa, o activa lcd
lcd_gotoxy( 1, 1);
printf(lcd_putc,"***Voltimetro***"); //muestra mensaje inicio
lcd_gotoxy( 1, 2);
printf(lcd_putc,"Taller de Diseno"); //muestra mensaje inicio
do{ //espera hasta que se pulse boton...
}while(input(PIN_A1)==1);
printf(lcd_putc,"\f"); //...para borrar pantalla e iniciar contador
// Configuramos entradas analogicas:
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
// Tomamos las medidas
set_adc_channel(0);
while(TRUE)
{
Valor=read_adc();//almacena el valor de medicion
voltios= valor * resolucion; //convierte de resolucion de 10bit a numeros
lcd_gotoxy( 1, 1);
printf(lcd_putc,"%1.2f voltios", voltios );//mensaje por la LCD
printf(lcd_putc,"\b");//retrasa el cursor una posicion
printf("%1.2f voltios", voltios );// mensaje por el puerto serie hacia el PC
delay_us(100);
//mensaje rotativo en la LCD publicidad XD
lcd_gotoxy(x,2) ; //cursor para escribir mensaje
printf(lcd_putc,"japifer_22 ");
delay_ms(185);//tiempo de rotacion del mensaje
if(x==-16){
x=16;
}
x--;
}}