Autor Tema: DATOS DE RS232 A LCD  (Leído 2584 veces)

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

Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
DATOS DE RS232 A LCD
« en: 22 de Enero de 2009, 01:22:56 »
Hola gente estoy teniendo un problema con el envio de caracteres a un lcd configurado en 4 bits, es decir leo la usart y mando los caracteres al lcd pero me escribe cualquier cosa, lo estoy simulando con el proteus , ahi va el codigo haber si me pueden dar una mano

#include <16f876a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)


#include <flex_lcd.c>


char tecla=' ';

#int_rda
void serial_isr() {

   tecla=0x00;
   if(kbhit()){
      tecla=getc();
   }
}


void main() {

   enable_interrupts(global);
   enable_interrupts(int_rda);
 
   lcd_init();
   

   do {

      if(tecla!=0x00){
        printf( lcd_putc,"%c",tecla);
         putc(tecla);
         tecla=0x00;
      }


   } while (TRUE);

}

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: DATOS DE RS232 A LCD
« Respuesta #1 en: 22 de Enero de 2009, 12:00:58 »
Cambia
Código: CSS
  1. printf( lcd_putc,"%c",tecla);

por
Código: CSS
  1. lcd_putc(tecla);

y dinos qué tal.

¡Ah! y comprueba que los pines definidos por defecto en <flex_lcd> son los que tienes conectados al LCD.

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
Re: DATOS DE RS232 A LCD
« Respuesta #2 en: 22 de Enero de 2009, 15:17:49 »
Gracias por responder, mira probe con el cambio de linea pero no funciono es mas revise los pines del lcd pero me sigue mandando un caracter en negro para que adjunto la  imagen asi tenes una mejor idea



Nota q el espacio es el unico caracter que toma no se por que ja.Saludos espero me podas dar una mano me esta matando esto no le encuentra la vuelta ni que es lo que esta mal en el codigo

Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
Re: DATOS DE RS232 A LCD
« Respuesta #3 en: 22 de Enero de 2009, 15:31:25 »
Te pongo el enlace de la imagen por que no la subio o lo hice mal , ademas nota que no uso el pin RW del lcd ¿Puede afectar en algo eso?.Gracias por la ayuda que me estas dando.Saludos
                                                http://www.cuelgalo.com/viewer.php?id=1232645339_lcd.JPG
« Última modificación: 22 de Enero de 2009, 15:34:39 por gamma008 »

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: DATOS DE RS232 A LCD
« Respuesta #4 en: 22 de Enero de 2009, 22:48:17 »
¿Por que no pones todos los ficheros de la simulación y así lo podemos probar?

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
Re: DATOS DE RS232 A LCD
« Respuesta #5 en: 23 de Enero de 2009, 13:44:59 »
BUENO GENTE ESTO ME ESTA VOLVIENDO LOCO   :-)  :-) LA IDEA ES QUE CUANDO LOGRARA LEER LOS DATOS DEL TERMINAL VIRTUAL(QUE POR CIERTO  NO LO HE LOGRADO NO SE POR QUE NO ENTIENDO) CONECTAR UN GPS A LA
ENTRADA Y ANALIZAR LOS DATOS DE TIPO GPRMC  QUE NOS DA UBICACION LATITUD Y LONGUITUD Y VELOCIDAD ADEMAS DE OTROS DATOS.

AHORA BIEN NO SE ME HABIA OCURRIDO CONECTAR EL SIMULADOR, DE GPS QUE TENGO PARA PROTEUS, AL  PIN RX CUANDO LO CONECTE, EL CODIGO QUE SUBI ANTES ANDUVO :shock: :shock: :shock: NO ENTIENDO POR QUE NO PUEDO LEER DESDE EL TERMINAL VIRTUAL Y SI DEL GPS.
AHORA BIEN NECESITO BUFFEREAR EL TIPO DE TRAMA GRPMC para Analizarla despues, estas tramas tienen la forma

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A


siendo
RMC                         sentencia minima recomendada C
     123519                hora 12:35:19 UTC
     A                         Status A=active or V=Void.
     4807.038,N           Latitud 48 deg 07.038' N
     01131.000,E         Longitud 11 deg 31.000' E
     022.4                   velocidad sobre tierra en millas nauticas
     084.4                   Track angle in degrees True
     230394                 fecha - 23 de Marzo 1994
     003.1,W               Variacion magentica
     *6A                     dato checksum , siempre comienza con *

Ahora posteo el codigo y el circuito uso proteus 7.2 SP6 ADEMAS DEL SIMULADOR DE GPS PARA PROTEUS ESPERO ME PUEDAN AYUDAR
   


EL ARCHIVO PRUEBA.RAR CONTIENE  LO SIGUIENTE

TESTGPS.DSN------------------> CIRCUITO PROTEUS DEL GPS
GPS_RS232.DSN---------------> CIRCUITO CON EL QUE TRABAJO
EMULATERGPS.HEX------------> PROGRAMA A CARGAR EN AT89C51 PARA SIMULAR GPS
_LCD_RS232.HEX--------------> PROGRAMA PIC(EL MISMO POSTEADO AL PRINCIPIO)

 
« Última modificación: 23 de Enero de 2009, 14:07:07 por gamma008 »

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: DATOS DE RS232 A LCD
« Respuesta #6 en: 29 de Enero de 2009, 17:55:23 »
hola, pues a veces me pasa el mismo problema, lo que hago es dar un espacio entre el texto " %c ".... a veces me soluciona el problema, otra cosa que hago sino pasa probar con otro programa solamente el lcd, depronto es una configuración mala de proteus...

Si ya no me queda, voy parte por parte del circuito y por último lo vuelvo armar...


Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
Re: DATOS DE RS232 A LCD
« Respuesta #7 en: 29 de Enero de 2009, 19:33:30 »
Gracias por responder fido, eh probado de todo ya pero no puedo encontrar la solucion , lei en foros del compilador y dice que se produce un bloqueo despues de la toma del segundo caracter y lo que se recomienda es que en la interrupcion para la toma de datos desde el puerto serie solo se deje la funcion de la toma de caracteres getc();
Bueno voy a probar a ver que pasa con eso y es cierto el simulador de proteus a veces simula cualquier verdura o manda al lcd cualquier cosa tengo que reiniciarlo para que ande.Bueno saludos desde argentina si tienes otra idea para tomar una cadena de caracteres sin que se bloque el pin RX te lo agradeceria.Saludos

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: DATOS DE RS232 A LCD
« Respuesta #8 en: 30 de Enero de 2009, 13:18:44 »
 :shock: compadre una vez me paso algo muy parecido, pero mi error era que al compilar me salía un error que me faltaba en la librería #DEVICE el cuento es que no lo pude solucionar nunca en el mismo compilador, lo que hice fue descargarme una versión mas nueva para ser mas exacto la 4.084 de CCS y problema solucionado, todo a marchado bien hasta ahora... otra cosa que hice fue que ya no hago el programa desde MPLAB sino desde el mismo compilador..

Prueba esto una vez mas, porque yo he realizado programas igual a ese y me funcionan normalmente...

Desconectado gamma008

  • PIC10
  • *
  • Mensajes: 6
Re: DATOS DE RS232 A LCD
« Respuesta #9 en: 03 de Febrero de 2009, 23:54:45 »
ok fido voy a probar a ver que sucede con ese tema gracias por responder saludos desde argentina