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
    invite4e24a71d

    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
    invited3dcf66c

    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
    invited3dcf66c

    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
    invite4e24a71d

    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
    invite07d645db

    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 invite7a536414 dans le forum Électronique
    Réponses: 6
    Dernier message: 15/11/2009, 13h07
  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, 14h14
  3. calcul d'écart "relatif", "type" ?
    Par invite2fe37bd2 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 29/08/2006, 13h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...