Autor Tema: Mini curso "Programación en XC8"  (Leído 588116 veces)

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

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mini curso "Programación en XC8"
« Respuesta #285 en: 26 de Octubre de 2014, 16:35:50 »
  Si quieres chequear el estado del LCD será necesario conectar el pin RW al micro. Si no lo conectas debes utilizar retardos largos para asegurarte que no envías información al LCD mientras el mismo está ocupado con la instrucción anterior.

  Aquí está la librería que subí, para manejo de LCD... podrías intentar con ella para ver que ocurre.


http://www.todopic.com.ar/foros/index.php?topic=40649.180

  ¿Tu programa lo has simulado en ISIS? De ser así, ¿ha funcionado?
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #286 en: 26 de Octubre de 2014, 18:13:11 »
Si lo he simulado en Proteus y tampoco me funciona, voy ha revisar la librería.

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #287 en: 26 de Octubre de 2014, 18:43:11 »
He desconectado el pin RW de la masa y lo he conectado al pic y sigo con el mismo problema.

Gracias
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #288 en: 09 de Noviembre de 2014, 14:13:00 »
He conseguido hacerlo funcionar en proteus pero con una configuracion diferente al hardware que tengo montado, y no comprendo el porque mi configuracion no me funciona.

Funciona:
RS ----> RB5
RW ---->RB6
E ----> RB4

Mi configuracion no funciona en proteus ni montado en fisico:
RS ----> RB6
RW ----> RB5
E ----> RB7

¿Que tiene de especial el pin RB7 porque segun he leido en el datasheet ni siquiera es analogico?

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #289 en: 11 de Noviembre de 2014, 15:33:49 »
Por favor nadie sabe lo que puede estar pasando.

Miquel_S
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mini curso "Programación en XC8"
« Respuesta #290 en: 11 de Noviembre de 2014, 16:01:41 »
Por favor nadie sabe lo que puede estar pasando.

Miquel_S

Es raro, pero bueno empecemos....
Se elimino todo problema de software ? Es decir, con los otros pines funciona SI o SI ?


lo que se me ocurre que en CONFIG4L tenes:

bit 7 DEBUG(negado): Background Debugger Enable bit
1 = Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
0 = Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug

Por default viene en 1, pero no se.. de todas formas no andaria RB6.

Para ir limando el problema y tratar de encontrarlo, probaste modificar la salida del RB7 a mano ?
Es decir podes poner a 1 RB7 o a 0 a tu voluntad? Aunque sea con un programita simple. Si es asi estaria mirando ya al codigo de esa libreria, veo que algunos tienen problemas con eso por mala inicializacion etc.

Antes de tirar la Pcb a la basura es necesario tener el pin RW conectado al micro o puedo ponerlo directo a masa como es el caso.

Esto unicamente si queres leer del LCD, yo lo hice funcionar con el RW conectado a GND, y siendo el LCD de 5V y el micro de 3.3v
« Última modificación: 11 de Noviembre de 2014, 16:34:21 por KILLERJC »

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #291 en: 11 de Noviembre de 2014, 16:35:17 »
Gracias KILLERJC primero después de cenar voy a probar una solución del compañero illusionista_86 y os contare.

Gracias!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #292 en: 11 de Noviembre de 2014, 17:56:11 »
Aquí lo dejo no me funciona ni simulado ni montado en Pcb, si alguien es tan amable de ayudarme lo agradeceré sino no pasa nada ya estoy acostumbrado a no terminar ninguno, despues de un par de años a día de hoy solo se encender un led.

Saludos!

PD: No cuento esto por dar pena a nadie pero creedme es frustrante.

Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado illusionista_86

  • PIC10
  • *
  • Mensajes: 23
Re: Mini curso "Programación en XC8"
« Respuesta #293 en: 11 de Noviembre de 2014, 18:19:08 »
esta noche lo pruebo, para mi es todavia medio dia... jejej

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mini curso "Programación en XC8"
« Respuesta #294 en: 11 de Noviembre de 2014, 18:47:56 »
Yo tengo el problema que no poseo la libreria de microchip la que poseen las funciones OpenXLCD() por ejemplo, eso queria ver :).

Por que encuentro de todo menos esas funciones, lo cual no se si es una libreria creada por alguien o de microchip, vi un pdf de microchip y habla de XLCDInit() y no esa funcion que tenes ahi.

Si usas esta: http://www.todopic.com.ar/foros/index.php?topic=40649.msg339676#msg339676

Veo que cuando inicia usa el pin RW.

Aquí lo dejo no me funciona ni simulado ni montado en Pcb, si alguien es tan amable de ayudarme lo agradeceré sino no pasa nada ya estoy acostumbrado a no terminar ninguno, despues de un par de años a día de hoy solo se encender un led.

Probaste lo que te dije? intentar poner a 1 o 0 el pin RB7 ( por mas que no tengas nada conectado ) Si es asi, entonces miraria la libreria.
« Última modificación: 11 de Noviembre de 2014, 19:02:44 por KILLERJC »

Desconectado illusionista_86

  • PIC10
  • *
  • Mensajes: 23
Re: Mini curso "Programación en XC8"
« Respuesta #295 en: 11 de Noviembre de 2014, 21:46:42 »
ya esta solucionado:

1- en headers files tienes varios archivos: borralos todos incluso el tuyo de "myXLCD"

2- cambia en el main.x la cabecera correspondiente al xlcd : <xlcd.h>

3- ve a la ruta: C:\Program Files (x86)\Microchip\xc8\v1.33\sources\pic18\plib\XLCD y copia todos los archivos que hay aqui dentro a la carpeta de tu proyecto: "lcd2x16.x"

4- en el proyecto en mplabX, selecciona source files, boton derecho y selecciona add items.... agrega todos y cada uno de los archivos copiados a la carpeta de tu proyecto.

5- una vez agregados, modifica el archivo original xlcd.h, puedes comentar las lineas originales y modificar una copia de ellas:

 #define RW_PIN   LATBbits.LATB5         /* PORT for RW */
 #define TRIS_RW  TRISBbits.TRISB5       /* TRIS for RW */

 #define RS_PIN   LATBbits.LATB6         /* PORT for RS */
 #define TRIS_RS  TRISBbits.TRISB6       /* TRIS for RS */

 #define E_PIN    LATBbits.LATB7        /* PORT for D  */
 #define TRIS_E   TRISBbits.TRISB7       /* TRIS for E  */

6- compila el proyecto y a funcionar....


esto es lo que te dige al principio, que copiaras todos los archivos de XLCD a tu proyecto y modificaras la libreria xlcd.h....

pongo un link al archivo porque el foro no me deja subir mas de 250kb. en dos dias quito el link.

https://www.dropbox.com/s/8lkmrqf3yxfv1ij/Lcd2x16.X.rar?dl=0

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mini curso "Programación en XC8"
« Respuesta #296 en: 11 de Noviembre de 2014, 21:52:47 »
En fin un problema de libreria ? por eso preguntaba sobre la libreria :/

Desconectado illusionista_86

  • PIC10
  • *
  • Mensajes: 23
Re: Mini curso "Programación en XC8"
« Respuesta #297 en: 11 de Noviembre de 2014, 23:12:21 »
Si, para poder modificar la librería xlc y que se compile de nuevo, todos los archivos de la librería XLCD hay que copiarlos en la carpeta del proyecto, añadirlas al proyecto en MPLABX, modificar el xlcd.h original, comentando si queréis las líneas originales, y compilar el proyecto, así es cuando surten efecto las modificaciones en el archivo XLCD.h.

Desconectado illusionista_86

  • PIC10
  • *
  • Mensajes: 23
Re: Mini curso "Programación en XC8"
« Respuesta #298 en: 11 de Noviembre de 2014, 23:15:55 »
Killerjc, tu caso es diferente.. Que programa usas? Que compilador? El MPLABX utilizando el XC8 debería de encontrarte la librería XLCD y sus funciones, están en la ruta que e puesto antes, si no están ahí es porque algo tienes mal instalado o estas utilizando un compilador o programa diferente.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Mini curso "Programación en XC8"
« Respuesta #299 en: 12 de Noviembre de 2014, 05:22:43 »
Lo primero dar las gracias a illusionista_86 por haberse molestado en perder parte de su tiempo haciendo el trabajo y de paso enseñarme como debía de hacerlo, y perdón por mi ignorancia yo había entendido que debía copiar el archivo XLCD.h dentro del proyecto pero no entendí que debía copiar todos sus archivos.
Gracias de nuevo illusionista_86 y todos los que habéis aportado vuestro granito de arena.

Miquel Servera.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.