Fichero LCD.C exacto del CCS C

Hola buenas. Trato de cambiar mi puerto de lectura del lcd, y segun un libro que me compré tan solo he de descomentar la linea " //if defined use_portb_lcd " ( a decir verdad no dice como ). Hay muchos, muchos ficheros LCD.C para ese cometido, variar el puerrto, pero yo necesito averiguar como se cambia este. Al hacer el cambio que he dicho, me aparecen una serie de errores estupidos letra por letra linea por linea. NO entiendo como cambiar. SI alguien tiene este fichero ( exactamente) agradeceria los cambios para puerto C ( de lectura del LCD) y en caso que sea simplemente el cambio que he dicho, ver si hay un error a no tener en cuenta. Gracias
 

Adjuntos

  • nuevo_documento_de_microsoft_word_2_321.doc
    34.5 KB · Visitas: 406
Si me esperas hasta la noche te subo la librería para el puerto C. No es tan facil como lo pones vos pero tampoco es algo dificil.
 
hola! Vaya, no puede esperar ya que madrugo bastante ( no penasba que akguien me respondiera tan rápico, la verdad). De todos modos espero ansioso tu fichero, Moyano ( y gracias!). Y creo que a lo que te refierres es al cambio de dirección de los puertos de 8 y 16 bits ( estoy viendo la direccion de portc de mi micro, pero no se si es 8 o 18, y en ese caso, si he de poner la direccion de cualquier otro que use 16 bits). Bajé un fichero de alguien, para lectura por ahi. AHora puedo leer lo que queria, pero se vuelbe loco, y no se, no es plan de ir copiando sin saber de donde vienen las cosas, por eso pido la modificacion de este. gracias!
 
Moyano Jonathan dijo:
Acá está la librería prometida

Espero te sirva !


perfecto! eso es exactamente lo que andaba buscando. Es curioso, he tenido problemas al compilar archivo..me compilaba siempre el anterior ( inlcuso creia que lo tuyo hacia lo mismo) . Al final lo he cerrado todo y lo he vueklto aabir. Ahora me detendre mas en lo que has hecho, pero compranado con el de portb es mucho mas facil saber el por que. Ha sido de gran ayuda, gracias!
 
Moyano Jonathan dijo:
Muy raro que te de errores de compilación mostrame el proyecto y vemos cual puede ser tu error.

creo que simplemente era porque no especificaba la ruta de compilacion. Al guardr el fichero, he cerrado y he abierto wizarr, no any file. Ese tipo de cosas me han dado algun problemita tb ( recuerdo) con un entorno de JAVA, pero ya esta resuelto, solo es eso ;)
 
Hola, recuerdas que dije que me iba perfectamente despues? Pues, ahotra no me va, me da fallos en una linea de delays del fichero del timer de puertoc. Estoy cerrando constantemente todos los archivos, y abriendo de nuevo mi proyecto, viendo desde donde compila..todo esta bien, pero no me funciona ningun fichero de lcd... la verdad ya me estoy volviendo loco, sabes que puede ser?
 
me respondo a mi mismo. He puesto ( y la he debido cambiar ademas sin querer) #use delay (clock=4000000) debajo de #include <LCD2_PORTC.C>. Solo por ese pequeño detalle me daba errores de compilacion. Son tonterias... pero que te pueden volver loco, ya que estaba revisando una y otra vez los 3 ficheros lcd diferentes que tengo !
 
Estoy trabajando sobre esta misma libreria, pero la idea que tengo es trabajarla pero para un microcontrolador freescale (MC68HC908GP32), obviamente me salen errores pues se debe trabajar en codewarrior, bueno si alguien tiene alguna idea de lo que comento o mejor si alguien ha manejado una LCD para un freescale y si esta en codigo C mucho mejor.

Gracias por su tiempo .
 
Si tenés un compilador que sea ANSI C , la verdad no te va a costar mucho trabajo pasarla. Solo vas a tener que fijarte que en CCS hay algunas estructuras que no están bajo el standar de ANSI pero lo demás es copiar pegar.
 
jum agradeceria mas ayuda con este tema para codewarrior, porque esa libreria no la he usado apenas le he ojeado pero no tengo idea como funciona y segun leo tampoco sirve para el gp32, agradeceria si alguno la tradujera para codewarrior haber si se entiende y la puedo usar que en assembler me he enredado y quisiera trabajar en C y bueno tengo un lcd andando en assembler pero necesito trabajarlo apara un proyecto mas grande y no se de librerias para retardos o para manejar LCD, seria mucho mejor agradesco ayuda!!
 
Problemas al usar el LCD del Starter kit de Microchip con CCS.
Tengo la placa de desarrollo starter kit que tiene los pines de control del LCD E y RS conectadas a los pines del puerto E (E2 y E1 respectivamente ) y RW a masa. El bus de datos del lcd están al puerto D (D0-D7) el problema es el siguiente: tengo la biblioteca del LCD.c del CCs y no se como modifcarla para estos dos puertos. Las modificaciones que encuentro en este foro es pasar del puero B al puerto D o viceversa, esto sería lo conveniente pero las conexiones de la placa no la puedo modificar. La pregunta sería como modifico los pines de control para un puerto con RW a masa y los de datos a otro puerto de acuerdo a mi placa de desarrollo.

Hice lo que está abajo en el archivo FLEX_LCD que me habían recomendado para modificar los puertos y que reemplazaría al LCD.C, pero me tira un error cuando uso el
lcd_init();

y luego en el lcd_putc que uso en el pintf de mi programa. Y me dice que no están definidas... Lo raro que en el LCD.C si me funcionan ambos usando el proteus y sus puertos por defecto(puerto D para el LCD).


Cosas que modifiqué en el FLEX_LCD:

#define LCD_DB4 PIN_D4
#define LCD_DB5 PIN_D5
#define LCD_DB6 PIN_D6
#define LCD_DB7 PIN_D7
//
#define LCD_RS PIN_E1
//#define LCD_RW PIN_E0
#define LCD_E PIN_E2

// If you only want a 6-pin interface to your LCD, then
// connect the R/W pin on the LCD to ground, and comment
// out the following line.

//#define USE_LCD_RW 1




Si alguien me puede dar una mano se lo voy a agradecer.
Saludos
 
Yo tengo un problema similar con el lcd.c de CCS, de hecho copie el ejemplo que viene en el libro de CCS y Proteus sobre lcd pero me marca error en LCD.C, le modifique esta linea
#if defined use_portb_lcd
#locate lcd = getenv("sfr:pORTB") // This puts the entire structure over the port
#define set_tris_lcd(LCD_WRITE) set_tris_b(LCD_READ)
//#else
// #locate lcd = getenv("sfr:pORTD") // This puts the entire structure over the port
// #define set_tris_lcd(x) set_tris_d(x)
#endif

Pero me sale error 12 Undefined identifier set_tris_lcd

de ahi no sale, helpme please!!!
 
Hola, alguién de aqui ha manejado la libreria lcd con el puerto a? Según yo hice la asignación de pines como especifica la libreria. Con el puerto b va todo bien, pero con el puerto a no da nada. Estoy usando un pic16f268a. Cabe mencionar que desactive los comparadores que se inician por default en el porta y configuré también el resto de pines como salida.
 
hola, yo tenía ese problema al asignar pines con el lcd.c que viene con el ccs, y finalmente el único problema es que deben poner el #define port... antes del include<lcd.c> (tampoco es necesario modificar el lcd.c) error de principiante supongo. para conectar el lcd al puerto A en un 16f628a yo usé la siguiente asignación utilizando uno de los pines B, ya que ni el a4 y ni el a5 me funcionaron :S

ahora estoy buscando una forma de utilizar el lcd con 8 bits, he encontrado algunas librerías pero sólo tienen las funciones lcd_putc() y yo busco alguna que tenga la funcion printf(...) ¿alguna sugerencia?

#define LCD_ENABLE_PIN PIN_a2 ////
#define LCD_RS_PIN PIN_a0 ////
#define LCD_RW_PIN PIN_a1 ////
#define LCD_DATA4 PIN_a3 ////
#define LCD_DATA5 PIN_b0 ////
#define LCD_DATA6 PIN_a6 ////
#define LCD_DATA7 PIN_a7
#define LCD_EXTENDED_NEWLINE

#include<lcd.c>
 
Atrás
Arriba