problema intentando manejar un lcd hd44780 con pic24 en freertos.

hola qué tal de nuevo. Estoy intentando manejar un lcd con un pic24hj... y freertos. Para ello utilizo el codigo que proporciona el ejemplo descargado del propio proyecto del freertos para el pic24h. Conecto el hardware (supongamos que está todo correcto, ya que lo he comprobado y todo parece correcto). Pero no funciona (como suele pasarme siempre con los proyectos que utilizan un lcd). Además se da la casualidad de que lo del lcd es realmente dificil de depurar. El main del programa lo pongo aquí a ver si es que me estoy equivocando en algo:

Código:
int main( void )
{
    /* Configure any hardware required for this demo. */
    prvSetupHardware();

    /* Start the task that will control the LCD.  This returns the handle
    to the queue used to write text out to the task. */
    xLCDQueue = xStartLCDTask();
    //xQueueSend( xLCDQueue, "hola", portMAX_DELAY );

    /* Finally start the scheduler. */
    vTaskStartScheduler();

    /* Will only reach here if there is insufficient heap available to start
    the scheduler. */
    return 0;
}
he dejado comentada la linea de xQueueSend ya que lo primero que tiene que hacer es inicializar el lcd, al margen de todo esto tengo dos dudas:

1- xLCDQueue = xStartLCDTask(); ¿se supone que con esta línea se inicializa el lcd?
2- Para escribir en el lcd ¿cuál de estas funciones se utiliza?: xQueueSend( xLCDQueue, "hola", portMAX_DELAY ); o prvLCDPutString( "www.FreeRTOS.org" );
3- ah y otra más... Supongo que este ejemplo trabaja con el oscilador interno del micro (mas que nada porque el pin donde va el cristal está ocupado con el pin RS del LCD) y necesitaba saber a qué velocidad va el oscilador interno.

a ver si con un poco de ayuda consigo ir encontrando los problemas ya que como dije antes con un lcd es muy difícil de depurar.

saludos!!
smiley.gif
 
Atrás
Arriba