Autor Tema: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]  (Leído 5362 veces)

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

Desconectado jluqueq

  • PIC10
  • *
  • Mensajes: 6
Hola buen dia,
intente enviar datos por serial y al lcd por separado y tuve exito.

a alguno le ha sucedido que cuando coloca la linea lcd_init() para inicializar el LCD
se detiene el envio de datos por serial con printf()?

he tratado de hacer un "debug" a mano poniendo varios printf() a lo largo del codigo, y se detiene el envio apenas coloco lcd_init()

les agraceré las sugerencias que me podrian brindar,

Saludos

Desconectado jluqueq

  • PIC10
  • *
  • Mensajes: 6
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #1 en: 13 de Agosto de 2011, 13:37:56 »
Hola copio el codigo en CCS:
En hardware funciona si y solo si estan comentadas las lineas lcd_init() y la de printf(lcd_putc,"ENVIANDO LCD")
si las descomento se cuelga el PIC.

Es un problema demasiaro raro, una mano por favor.
Gracias.


#include <18f4550.h>
#device ADC = 10
#use delay(clock = 4M)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#include <lcd.c>

/* -------------------------------
   -   Palabra de Configuracion  -
   ------------------------------- */
   
#fuses NOWDT                    //No Watch Dog Timer
#fuses WDT128                   //Watch Dog Timer uses 1:128 Postscale
#fuses PLL1                     //No PLL PreScaler
#fuses CPUDIV1                  //No System Clock Postscaler
#fuses NOUSBDIV                 //USB clock source comes from primary oscillator
#fuses XT                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#fuses NOFCMEN                  //Fail-safe clock monitor disabled
#fuses NOIESO                   //Internal External Switch Over mode disabled
#fuses NOPUT                    //No Power Up Timer
#fuses NOBROWNOUT               //No brownout reset
#fuses BORV20                   //Brownout reset at 2.0V
#fuses NOVREGEN                 //USB voltage regulator disabled
#fuses NOPBADEN                 //PORTB pins are configured as digital I/O on RESET
#fuses NOLPT1OSC                //Timer1 configured for higher power operation
#fuses NOMCLR                   //Master Clear pin used for I/O
#fuses NOSTVREN                 //Stack full/underflow will not cause reset
#fuses NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#fuses ICPRT                    //ICPRT enabled
#fuses NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#fuses NODEBUG                  //No Debug mode for ICD
#fuses NOPROTECT                //Code not protected from reading
#fuses NOCPB                    //No Boot Block code protection
#fuses NOCPD                    //No EE protection
#fuses NOWRT                    //Program memory not write protected
#fuses NOWRTC                   //configuration not registers write protected
#fuses NOWRTB                   //Boot block not write protected
#fuses NOWRTD                   //Data EEPROM not write protected
#fuses NOEBTR                   //Memory not protected from table reads
#fuses NOEBTRB                  //Boot block not protected from table reads

void main(){
//lcd_init();
while(1){
delay_ms(1000);
printf("HOLA");
delay_ms(1000);
//printf(lcd_putc, "ENVIANDO LCD");
delay_ms(1000);
printf("BYE");
}

}

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #2 en: 13 de Agosto de 2011, 14:04:38 »
 :x No postees el mismo problema en varios hilos! No es necesario  :?

Que puerto estas usando para el LCD? Está bien configurada la librería para esos pines? Usas RW en el LCD? Utiliza el buscador del foro para ver como se configuran los pines del LCD para esa librería.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jluqueq

  • PIC10
  • *
  • Mensajes: 6
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #3 en: 13 de Agosto de 2011, 14:18:29 »
:x No postees el mismo problema en varios hilos! No es necesario  :?

Que puerto estas usando para el LCD? Está bien configurada la librería para esos pines? Usas RW en el LCD? Utiliza el buscador del foro para ver como se configuran los pines del LCD para esa librería.


Saludos!

Disculpe, no lo haré de nuevo.

Uso el puerto B, si esta bien configurada la libreria lcd.c para esos pines.
Uso RW para escribir unicamente, conectado al PIN RB2 del pic, tal como esta en la libreria.

No tengo problemas en mostrar en LCD un dato, ni en mandar por serial en hardware o simulacion, ambas cosas funcionan bien, el problema es hacer una despues de otra,
por ello comente la linea lcd_init() porque sino el pic deja de enviar por serial.

En proteus funciona todo muy bien, pero en fisico se ve este problema

 
« Última modificación: 13 de Agosto de 2011, 14:22:49 por jluqueq »

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #4 en: 13 de Agosto de 2011, 14:47:12 »
que version de ccs estas usando?
solo deja de funcionar si intentas escribir en la lcd o al realizar la funcion lcd_init();
"Nada es imposible, no si puedes imaginarlo"

Desconectado jluqueq

  • PIC10
  • *
  • Mensajes: 6
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #5 en: 13 de Agosto de 2011, 15:00:48 »
que version de ccs estas usando?
solo deja de funcionar si intentas escribir en la lcd o al realizar la funcion lcd_init();

Hola, el codigo es tal cual lo he copiado
solo estoy usando el printf(lcd_putc,....)

Sin embargo, asi no lo use, el solo hecho de poner lcd_init() se detiene el envio por rs232.

La version de ccs es 4.057



Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #6 en: 13 de Agosto de 2011, 15:37:35 »
haz intentado simularlo paso a paso?, para ver donde se queda.

hay error en la libreria de la lcd de ccs, pero en esa version funcionaba bien.

checa eso, si no te paso la libreria que tengo para que la cambies
"Nada es imposible, no si puedes imaginarlo"

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #7 en: 13 de Agosto de 2011, 15:41:16 »
Puede ser que este usando RW pero mal configurado los pines y se quede a la espera de una condición del LCD que nunca se cumple, y por ello queda clavado en esa rutina. Por ejemplo en la versión que tengo yo tiene la siguiente rutina bloqueante:

Código: C
  1. while ( bit_test(lcd_read_byte(),7) ) ;

 :roll:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jluqueq

  • PIC10
  • *
  • Mensajes: 6
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #8 en: 13 de Agosto de 2011, 17:12:34 »
haz intentado simularlo paso a paso?, para ver donde se queda.

hay error en la libreria de la lcd de ccs, pero en esa version funcionaba bien.

checa eso, si no te paso la libreria que tengo para que la cambies

Hola, me habia bajado una version mas actual del CSS pensando tambien en eso pero, el problema continuaba y regrese a la version anterior, en la de 4.0547 se puede descomentar la linea de usar portb del archivo lcd.c en la del ccs 4.10 no.

Sin embargo, ya le encontre el problema:

Estaba usando un modulillo de entrenamiento para pics ajeno, este debe tener algun jumper que cuando se usa el lcd no se puede usar serial (no entiendo el porque de hacerlo asi). Monte el pic en una protoboard y solo saque los pines RX, TX, VDD y GND para el max232 del modulito y funciono sin problema.

No se me habia ocurrido hacer esto porque del modulo enviaba correctamente por serial.

El envio  por serial y lcd es parte de un trabajillo que estoy haciendo.
Gracias Suky y rivale por sus comentarios,
Buen fin de semana

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Comunicacion RS232 + Envio datos a LCD en CCS [problema con lcd_init()]
« Respuesta #9 en: 15 de Agosto de 2011, 21:51:56 »
que bueno que funciono!  :-/

aunque al final el problema no era tuyo.
"Nada es imposible, no si puedes imaginarlo"