Autor Tema: proteurs y rs 252  (Leído 1394 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
proteurs y rs 252
« en: 23 de Abril de 2009, 12:52:55 »
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--;
      }}

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: proteurs y rs 252
« Respuesta #1 en: 23 de Abril de 2009, 13:04:56 »
se me olvidava esto lo veo por la opcion que tiene proteurs del virtual terminal

Desconectado juansi

  • PIC16
  • ***
  • Mensajes: 102
Re: proteurs y rs 252
« Respuesta #2 en: 23 de Abril de 2009, 15:28:15 »
yo me acabo de encontrar el mismo prolema, creo q al mostrar el mensaje en un bucle infinito se repite indefinidamente asi q creo q tienes q borrar la pantalla  para refrescarla y reescribir.
Con un_______printf("\f");_______ justo antes del mensaje creo q lo solucionas.


Espero q funcione.
Las mujeres quieren "SOLUCIONES", y los hombres lo mismo pero escrito al reves.

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: proteurs y rs 252
« Respuesta #3 en: 23 de Abril de 2009, 16:38:45 »
veamos si funsiona perrin

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: proteurs y rs 252
« Respuesta #4 en: 23 de Abril de 2009, 17:40:08 »
SI POR LO MENOS ME SACA DEL APURO