Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Affichage de la température



  1. #1
    antoine6

    Affichage de la température


    ------

    Bonjour,

    Je travaille en ce moment sur une petite station méteo. Je récupere la température avec des capteurs DS1820.

    Jusque la pas de probleme, mais lors de l'affichage, le symbole "°" (dégré) n'apparait pas (un petit point à la place)

    J'utilise un PIC (18F4580) avec le compilateur PICC.

    Je me sert de la ligne suivante :

    Code:
    printf(lcd_putc,"\fActuel:%3.1g°C",temp);
    Comment je peut faire pour afficher le bon symbole? J'ai pas trouvé dans ma bibliotheque comment afficher un caractere ascii, vous avez des idées?

    Merci d'avance

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    sdec25

    Re : Affichage de la température

    Bonjour,
    le caractère ° ne fait pas partie de la table ASCII standard (codés sur 7 bits). Je ne sais pas quelle table utilise ton stdio mais ce n'est pas la même que le LCD.
    Sur le LCD c'est 0xDF si l'on en croit cette table.
    Essaie de trouver le caractère qui correspond à ce code sur le PC :
    Code:
    char a[2];
    a[0] = 0xDF;
    a[1] = '\0';
    printf("%s", a);
    Si ce n'est pas un caractère affichable je ne vois qu'une solution :
    #define DEGRE 0xDF
    chaine[x] = DEGRE;
    ...
    On pourrait peut-être bidouiller les bibliothèques de gestion des chaînes de caractères mais je ne m'y connaît pas trop.

    Si tu as beaucoup de caractères spéciaux, tu peux faire une fonction formater_LCD() avec une table associative (char -> char) contenant par exemple ('°' -> 0xDF).

    A+
    Dernière modification par sdec25 ; 29/06/2009 à 18h16.

  5. #3
    Gérard

    Re : Affichage de la température

    Je confirme, j'envoie 223 (décimal) qui correspond à DFh (héxa).

  6. #4
    antoine6

    Re : Affichage de la température

    Merci pour les réponses, ca marche =)

    J'ai utilisé ta base,

    Code:
    char a[2];
    a[0] = 0xA2;
    a[1] = '\0';
    printf("%s", a);
    Mais avec 0xDF, j'affiche le caractère alpha, et avec la valeur en hexa (table ascii étendue) du symbole degré ça affiche aussi un autre caractère différent. La bonne valeur est donc 0xA2, ce qui correspond apparemment à aucune table.

    merci, bonne soirée

  7. A voir en vidéo sur Futura

Discussions similaires

  1. Etude de la fct affichage temperature d'un incubateur
    Par Kanda99 dans le forum Électronique
    Réponses: 1
    Dernier message: 14/12/2008, 18h48
  2. Affichage temperature sur LCD?
    Par franck29 dans le forum Électronique
    Réponses: 10
    Dernier message: 31/03/2008, 18h38
  3. [Blanc] affichage température et éclairage int du frigo clignote
    Par totem42 dans le forum Dépannage
    Réponses: 0
    Dernier message: 27/03/2008, 20h54
  4. affichage température
    Par menui dans le forum Électronique
    Réponses: 14
    Dernier message: 14/06/2006, 09h36
  5. PPE Temperature et affichage.
    Par altruistman dans le forum TPE / TIPE et autres travaux
    Réponses: 2
    Dernier message: 18/12/2005, 12h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.