Autor Tema: Libreria programada "en paralelo" LCD dsPIC  (Leído 14584 veces)

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #15 en: 23 de Diciembre de 2006, 06:40:07 »
Hay que hacerle caso al maestro entre maestros.

intenta cambiar
void _ISR _T1Interrupt()

por
void __attribute__((__interrupt__,__shadow__))  _T1Interrupt(void)

te guardará w0,w1,w2,w3 y C, Z, OV, N , DC  quizas sea suficiente .

Ha sido hacer esa modificación en la librería y que empiece a funcionar.

Tiene algunos fallos, pero ya no son aleatorios, sino errores que habrá que arreglar. Voy mirándolos a ver si puedo dejarla lista.

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #16 en: 27 de Diciembre de 2006, 09:11:20 »
Lo reviso a ver, ya intente haciendo esas modificación y funcionaba pero con un uso intensivo (escribir varias pantallas, LCDTimers... hace el tonto, lo que has hecho es coger la que he posteado y añadir lo que dijo SISPIC ?

Los bytes los has tratado como me dijistes ?


Gracias Nocturno y Sispic agradezco mucho vuestra ayuda
« Última modificación: 27 de Diciembre de 2006, 09:16:55 por zer0 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #17 en: 27 de Diciembre de 2006, 09:32:36 »
Ciertamente después de un uso intensivo sale alguna cosa rara de vez en cuando.

Yo también me he picado con este tema y estoy tratando de hacerlo desde un enfoque diferente.

Todavía no lo tengo, pero estoy acabándolo. Lo colgaré cuando lo consiga.

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #18 en: 27 de Diciembre de 2006, 09:35:14 »
Gracias Nocturno yo estoy en ello si la tengo antes o veo algo te la notifico y por supuesto te la daré para que la cuelgues. Gracias.

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #19 en: 27 de Diciembre de 2006, 09:47:05 »
También lo haces funcionar en paralelo con un timer ?


Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #21 en: 27 de Diciembre de 2006, 10:00:49 »
Deseando verla y gracias otra vez por vuestro tiempo y consejos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #22 en: 30 de Diciembre de 2006, 09:32:43 »
Tras una dura lucha que me ha costado mucho más de lo que esperaba tengo que decir que finalmente el LCD ha sido doblegado.



En cuanto le limpie la sangre subo la librería.
 :-/ :-/ :-/

Editado:
Ya está limpita de sangre, polvo y paja. La tenéis aquí:

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #23 en: 31 de Diciembre de 2006, 04:24:26 »
Veo que has hecho un nuevo amigo el ASM  :D

Aunque sea feo y con mocos , aveces nos hecha una mano .

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #24 en: 31 de Diciembre de 2006, 04:29:06 »
Calla, calla, que el hecho de tirar una canita al aire no significa que haya salido del armario todavía, eh.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #25 en: 31 de Diciembre de 2006, 09:25:27 »
¡Novedades!

He incluido soporte para los amantes del printf entre los que me incluyo.
Ya está actualizada la librería en su descarga.

Lo único que hay que tener en cuenta es que hay una variable global llamada "SalidaPor". Esta variable está por defecto seteada como
Código: [Seleccionar]
SalidaPor = SalidaLCD;de manera que todos los printf saldrán por nuestro LCD.

Si queremos simultanear esta salida con la USART tendremos que hacer:
Código: [Seleccionar]
SalidaPor = SalidaUSART;antes del printf.

De esta manera tendremos las dos opciones disponibles en todo momento.

Que lo disfrutéis

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #26 en: 31 de Diciembre de 2006, 09:30:18 »
Gran trabajo y gracias lo pruebo esta tarde ahora no puedo, gracias por vuestra ayuda.

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #27 en: 02 de Enero de 2007, 05:38:14 »
Nocturno , una pregunta: Si deseo hacer que una cadena aparezca 1 segundo en el display y luego otra esa pausa siga sin hacerse en paralelo ¿verdad ? los wait no se "meten" en la cola por lo que veo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #28 en: 02 de Enero de 2007, 05:51:33 »
Tal y como está programada no se puede hacer porque sólo gestiona 2 delays:
- 1 us después de subir el pin Enable
- 37 us después de bajar el pin Enable

Para hacer lo que necesitas tendrás que modificar un par de cosas:
- ampliar el array para que se pueda almacenar un retraso configurable en cada comando
- modificar la rutina de la interrupción para que lea el valor del array y lo cargue en PRx


Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Libreria programada "en paralelo" LCD dsPIC
« Respuesta #29 en: 02 de Enero de 2007, 06:13:11 »
Ok cuando lo haga (si tira ok) en un principio  mi rutina (la que no acaba de tirar) estaba pensada especialmente para eso para no perder tiempo en las esperas del display. (sobre todo en las grandes).

Gracias de todas formas Nosturno y estamos en contacto.