Pilotage LCD en C sur Pic
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Pilotage LCD en C sur Pic



  1. #1
    joseph4008

    Pilotage LCD en C sur Pic


    ------

    hello !!

    j'ai un souci ...je developpe un programme en c pour pic (compilé avec CC5x) pour le pilotage d'un ecran lcd.La premiere étape d'initialisation se passe tres bien, puis j'arrive a afficher les phrases de mon choix. Mais mon desire est de pouvoir afficher le contenu d'une variable......

    voici un bout de mon code :

    //---------------------------------
    void main (void)
    {
    lcd_init(); // initialisation du LCD
    lcd_write("Hello World "); //Commande ecriture
    }
    //------------------------------------
    void lcd_write(const char *s)
    {
    RS=1; // Mode data
    while (1)
    {
    char u = *s++;
    if (!u)
    break;
    Out=u;
    lcd_valid(); // Commande validation
    }
    }


    si quelque peut m'aider... n'hesitez pas a me demander plus d'infos.
    j.leclercq@ingelis.com
    //----------------------------

    -----

  2. #2
    invite4c7a167b

    Re : Pilotage LCD en C sur Pic

    En passant simplement une variable du même type en paramètre de la fonction lcd_write
    Code:
    #include <string.h>
    
    //---------------------------------
    void main (void)
    {
       // exemple 1
       const char mon_message[] = "Hello World !";
    
       //exemple 2
       char tableau[8];
       strcpy(tableau, "Bonjour");
    
    
       lcd_init();        // init de l'afficheur
    
       lcd_write(mon_message);        // affichage du message 1     
       
       lcd_write(tableau);        // affichage du message 2
    }

  3. #3
    joseph4008

    Re : Pilotage LCD en C sur Pic

    Tout d'abord merci pour ta reponse ... mais c'est pas tout a fait sa encore... Tout d'abord ton code me genere des erreurs... mon compilateur n'aime pas le strcpy (compilateur pour microcontroleur pic). En fait je recherche surtout la maniere d'afficher une variable ( telle un compteur, une variable qui est incrementer toutes les secs).Hors pour l'instant ma fonction ne permet que d'afficher des données de type "abc1234" que je place dans lcd_write("xxxx")...
    exemple : lcd_write("bonjour") > marche tres bien
    mais c'est autre chose si j'essaye de remplacer le "bonjour" par une variable....

  4. #4
    invite4c7a167b

    Re : Pilotage LCD en C sur Pic

    Hum ! Ton compilateur n'inclut pas la bibliothèque string (le #include <string.h> en haut du code) ? Etrange !?

    Soit ! Tu veux dire que cela ne fonctionne pas ?
    Code:
    void main (void)
    {
       // exemple
       char variable[] = "Hello World !";
       
       // init de l'afficheur
       lcd_init();        
    
       // affichage du message
       lcd_write(variable);             
     
    }
    Tu as bien afficher le contenu d'une variable. C'est pas ce que tu voulais ?

    A bientôt,
    Vincent

  5. A voir en vidéo sur Futura
  6. #5
    invite4c7a167b

    Re : Pilotage LCD en C sur Pic

    A moins que tu veux afficher, sur l'LCD, des choses du genre :

    Ma phrase 1
    Ou la valeur "1" serai en fait le contenu d'une variable ?

  7. #6
    joseph4008

    Re : Pilotage LCD en C sur Pic

    Ralalallaa a ni plus rien comprendre... je m'arrache les cheveux... sur ces trois lignes de programme..

    1. mon compilateur n'accepte pas les tableaux sans dimensions...
    char variable [] = "Hello world".... ERREUR...
    seul " const char *variable = "Hello world" me donne une compilation sans erreurs...

    2.
    lcd_init(); // initialisation du LCD
    lcd_write("Hello World "); // Commande ecriture
    //------------------------------------
    void lcd_write(const char *s)
    {
    RS=1; // Mode data
    while (1) {
    char u = *s++;
    if (!u)
    break;
    Out=u;
    lcd_valid(); // Commande validation
    }
    }
    >>>>> marche nickel... par contre :

    const char *variable="hello world";
    lcd_write(*variable);

    //----------------------------
    void lcd_write(const char *s)
    {
    ....
    }
    >>>> rien de fonctionnne... ecran vide.... pourtant a mes yeux ses la meme chose...

  8. #7
    invite4c7a167b

    Re : Pilotage LCD en C sur Pic

    Attention, tu as déréférencé le pointeur "variable" en le passant à lcd_write

    Code:
    const char *variable="hello world";
    lcd_write(variable); // tu avais écrit "lcd_write(*variable);"
    
    //----------------------------
    void lcd_write(const char *s)
    {
    ....
    }
    Là ça devrait fonctionner. Mais c'est bizare que ton compilateur n'accèpte pas l'écriture sous forme de tableau !?

    Vincent

  9. #8
    joseph4008

    Re : Pilotage LCD en C sur Pic

    arfff no toujours pas... laisse tomber j'ai repris de morceaux de programmes trouvé sur le net que j'ai refais a ma sauce. Encore un grand merci pour ton aide...

Discussions similaires

  1. PIC, afficher l'heure sur un LCD ?
    Par invite116c4f9b dans le forum Électronique
    Réponses: 2
    Dernier message: 23/10/2007, 17h34
  2. pilotage d'un ecran lcd d'un vieil organisateur
    Par invite3a8921f5 dans le forum Électronique
    Réponses: 0
    Dernier message: 12/02/2007, 04h46
  3. pic f877 et message sur lcd
    Par sdow dans le forum Électronique
    Réponses: 3
    Dernier message: 10/02/2007, 15h59
  4. Progrmmer un lcd en C sur un pic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 7
    Dernier message: 26/04/2006, 08h52
  5. Pilotage LCD 3 ½ Digit
    Par Patrick dans le forum Électronique
    Réponses: 6
    Dernier message: 15/03/2004, 23h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.