XC8 et variable de type "float"
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

XC8 et variable de type "float"



  1. #1
    petitnul12

    XC8 et variable de type "float"


    ------

    Bonsoir,

    Je calcule et stock la tension sortant de mon l'ADC de mon PIC18F4680 dans un float, seulement mon float est systématiquement arrondi... Je n'arrive pas à obtenir la valeur décimale, il me donne systématiquement la valeur entière. J'utilise la ligne de code suivante pour extraire le résultat de l'ADC, x est déclaré en tant que float. La partie entière est bonne, me manque la partie décimale =(

    o->x = (((ADRESH*256+ADRESL)*5)/1023);

    C'est un bug du mode de debug de MPLabX ou bien le code m'arrondi vraiment le résultat ? Vous avez des retours sur la manipulation des float avec MPLabX ?

    Merci

    -----

  2. #2
    inoxxam

    Re : XC8 et variable de type "float"

    Salut,
    Essaie o->x = (((float)((ADRESH*256+ADRESL)* 5))/1023);
    Ca devrait forcer le compilateur à faire la division avec des nombres flottants, alors que comme tu l'écris, il fait d'abord la division (en nombres entiers) et ensuite il convertit en float.

  3. #3
    inoxxam

    Re : XC8 et variable de type "float"

    Salut,
    Essaie o->x = (((float)((ADRESH*256+ADRESL)* 5))/1023);
    Ca devrait forcer le compilateur à faire la division avec des nombres flottants, alors que comme tu l'écris, il fait d'abord la division (en nombres entiers) et ensuite il convertit en float.
    Es-tu certain d'avoir besoin de flottants?

  4. #4
    petitnul12

    Re : XC8 et variable de type "float"

    Merciiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiii !

    J'en utilise pas beaucoup, juste pour l'ADC.. C'est lourd, mais le PIC mais pas surchargé..

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

    Re : XC8 et variable de type "float"

    en C, toutes les opérations arithmétiques et logiques renvoient un résultat de même type que les valeurs d'origine. Ils faut donc convertir ces valeurs dans le type voulu avant d'effectuer l'opération .

Discussions similaires

  1. "String to float" dans un PIC : erreur
    Par hoffmann dans le forum Électronique
    Réponses: 6
    Dernier message: 15/11/2009, 12h07
  2. [Brun] TV thomson "28DGl71"500012790"de type 413/tx807CS s'éteint toute seule
    Par invite8ccd334e dans le forum Dépannage
    Réponses: 0
    Dernier message: 04/05/2008, 13h14
  3. calcul d'écart "relatif", "type" ?
    Par invite2fe37bd2 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 29/08/2006, 12h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.