[C] Transfert de paramètres - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 47 sur 47

[C] Transfert de paramètres



  1. #31
    Seb.26

    Re : [C] Transfert de paramètres


    ------

    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  2. #32
    invite3c35244f

    Re : [C] Transfert de paramètres

    Merci pour le lien.
    En ce qui concerne le sprintf...je fais la même chose qui est utilisé dans le lien.
    Et j'ai toujours une erreur,:
    Error[Pe120]: return value type ("char __bank *") does not match the function type ("char")

    Error[Pe120]: return value type ("char __bank *") does not match the function type ("char")
    au ligne
    Code:
     char TensionBatt1 (void)
    {
      conv_AN_vbatt1 ();
      calcul_vbatt1 ();
      conv_ftoa_vbatt1 ();
      return (vbat1a);//lerreur est la!!!!!!!
    }
    et
    Code:
    char conv_ftoa_vbatt1 (void)
    {
    sprintf (vbat1a,"%6.2f",vbat1f);
    return (vbat1a);//lerreur est la!!!!!
    }
    et pourtant j'ai remodifier la declaration du char:
    Code:
    char vbat1a[30];
    et
    Code:
    extern char vbat1a[30];

  3. #33
    Seb.26

    Re : [C] Transfert de paramètres

    Normal ... un char est un octet signé, par une chaine de caratère ...

    Toi tu ne veux pas renvoyer un char, mais un char* ( donc un pointeur vers un/des char )

    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #34
    invite3c35244f

    Re : [C] Transfert de paramètres

    En ce qui concerne:
    Code:
    //int resultV; // pourquoi 'int' ???!
    Je souhaite stocké le résultat de la conversion qui est sur 10 bits dans un int, et ensuite réaliser cette opération dessus:
    Code:
    resultV=((ADRESH*256)+ADRESL);	//Récupération du résultat sur 10 Bits
    Je peu faire cela si je le déclare en unsigned char??
    merci d'avance

  5. #35
    invite3c35244f

    Re : [C] Transfert de paramètres

    Et comment déclarer alors ma variable vbat1a pour etre utilisable par la fonction sprintf?

  6. #36
    invite3c35244f

    Re : [C] Transfert de paramètres

    Jai fais 2 3 petites modifications, mais je comprend la fin, mais comment faire? comment lui dire à quoi est égal "value" et de meme que le résultat du calcul...
    Code:
    //Déclaration des variables
    char vbat1a; // BUG !!! comment la déclaré???
    
    //Déclaration des fonctions = prototypes
    unsigned short conv_AN_vbat1 (void);
    float calcul_vbat1 (void);
    char conv_ftoa_vbat1 (void); //comment la déclaré??
    
    //Définition des fonctions
    char mesure_bat1 (void) // BUG !!!comment la déclaré??
     {
      conv_AN_vbat1 ();
      calcul_vbat1 (); 
      conv_ftoa_vbat1 ();
      return (vbat1a); 
     }
    
    //int conv_AN_vbat1 (void)
    unsigned short conv_AN_vbat1(void)
     {
    ADCON0=0x05;
    ADCON2=0xA5;
    GO_DONE=1;
    while(GO_DONE); // Deadlock !
    GO_DONE=0;
    return (((ADRESH*256)+ADRESL));
     }
    
    float calcul_vbat1 (unsigned short value)
    {
    float van1 ;
    van1 = ((float)value) * q;	//value est éagal à quoi?
    return ((float)(van1 * 6.8576));
    }
    
    char conv_ftoa_vbat1 (void); // BUG !!!
    {
    sprintf (vbat1a,"%6.2f",vbat1f); // BUG !!!
    return (vbat1a);
    }
    Merci de ton aide

  7. #37
    Seb.26

    Re : [C] Transfert de paramètres

    Citation Envoyé par jorg1n Voir le message
    En ce qui concerne:
    Code:
    //int resultV; // pourquoi 'int' ???!
    Je souhaite stocké le résultat de la conversion qui est sur 10 bits dans un int
    > Pourquoi la stocker dans une variable globale ??? ...
    > Pourquoi un int ?

    comment lui dire à quoi est égal "value" et de meme que le résultat du calcul...
    Comme ça :

    Code:
    calcul_vbat1( conv_AN_vbat1() );
    Par exemple ...

    Mais une fois de plus : va lire des cours de C, là tu perds ton temps ... Manifestement tu ne connais pas le C, et c'est pas sur un PIC que tu pourras apprendre dans les meilleures conditions ...

    Bonne continuation.
    @++
    Seb.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  8. #38
    invite3c35244f

    Re : [C] Transfert de paramètres

    Merci de ta réponse...
    juste une dernière chose...
    en ce que concerne le char pour le sprintf...je ne vois pas du tout...je sais je dois revoir mes cours...promis...je m'endors avec ce soir...

  9. #39
    Seb.26

    Re : [C] Transfert de paramètres

    Tout est là :
    http://irc.essex.ac.uk/www.iota-six....ntf_sscanf.asp



    Code:
    char str[10];
    sprintf(str, "%f", 15.05);
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  10. #40
    invite3c35244f

    Re : [C] Transfert de paramètres

    Mais c'est exactement ce que je fais lorsque je fais:
    Code:
    char vbat1a[30];
    sprintf(vbat1a, "%f", vbat1f);
    non??
    et j'ai toujours cette erreur:
    Error[Pe120]: return value type ("char __bank *") does not match the function type ("char")
    je ne comprend pas??

  11. #41
    Seb.26

    Re : [C] Transfert de paramètres

    Je t'ai déjà donné cette réponse ...

    Normal ... un char est un octet signé, par une chaine de caratère ...

    Toi tu ne veux pas renvoyer un char, mais un char* ( donc un pointeur vers un/des char )
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  12. #42
    invite3c35244f

    Re : [C] Transfert de paramètres

    Je suis perdu...
    voila ce que j'ai:
    Code:
    char *vbat1a;
    */
    /******************** Définitions des sous-programmes *************************/
    //Mesure Tension
    unsigned short conv_AN_vbat1(void);
    float calcul_vbat1 (unsigned short);
    char conv_ftoa_vbatt1 (void);
    
    /*********************** TENSION **********************************/
    char TensionBatt1 (void)
    {
      calcul_vbatt1 ( conv_AN_vbatt1 () );
      conv_ftoa_vbatt1 ();
      return (vbat1a);
    }
    
    /***************************************************************
    Nom   : conv_AN_vbatt1
    Role  : Réalisation d'une conversion Analogique/numérique sur AN1
    ****************************************************************/
    unsigned short conv_AN_vbat1(void)
    {
    ADCON0=0x05;	                // Sélection AN1/ADON = 1.
    ADCON2=0xA5;	                // Justification à droite/Tps d'acquisition=4Tad/Horloge de conversion=16Tosc
    GO_DONE=1;	                // Start Conversion A/N
    while(GO_DONE);	                // attend EOC
    GO_DONE=0;	                // Fin Conversion A/N
    return (((ADRESH*256)+ADRESL));
    }
    
    /***************************************************************************
    Nom   :calcul_vbatt1
    Role  : Calcul de la tension suite à la convAN->résultat en réel
    *****************************************************************************/
    float calcul_vbat1 (unsigned short value)
    {
    float van1 ;
    van1 = ((float)value) * q;	//Calcul de la tension présente sur AN1 (Float)
    return ((float)(van1 * 6.8576));
    }
    
    /***************************************************************************
    Nom   : conv_ftoa_vbatt1
    Role  : conversion du résultat: float to string
    *****************************************************************************/
    char conv_ftoa_vbatt1 (void)
    {
    sprintf (vbat1a,"%6.2f",vbat1f);
    return (vbat1a);
    }
    j'arrive pas a voir avec le pointeur..où l'utiliser,...
    Et pourquoi ,mon programme fonctionnait lorsque tout était sous le meme fichier .c et les variables déclarés en globales et que la il me met une erreur de déclaration au point de vue du char???

  13. #43
    Seb.26

    Re : [C] Transfert de paramètres

    Citation Envoyé par jorg1n Voir le message
    Je suis perdu...
    voila ce que j'ai:
    Code:
    char *vbat1a;
    
    char conv_ftoa_vbatt1 (void)
    {
    return (vbat1a);
    }
    ça peut pas marcher, tu mélange tout ...

    Essaye avec ça :

    Code:
    char vbat1a[10];
    
    char* conv_ftoa_vbatt1(void)
    {
      [...]
      return(vbat1a);
    }
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  14. #44
    invite3c35244f

    Re : [C] Transfert de paramètres

    Et pour le vbat1f, comment le remplacer, en faisant le meme principe que précédement:

    Code:
      
      conv_ftoa_vbatt1 (calcul_vbatt1 ( conv_AN_vbatt1 () ));
    c'est faisable???
    je m'enmèle les pinceaux...je pensai que ça allait être plus simple...

  15. #45
    invite3c35244f

    Re : [C] Transfert de paramètres

    J'ai modifié avec ce que tu m'as donné :
    Code:
    char vbat1a[10];
    
    char* conv_ftoa_vbatt1(void)
    {
      [...]
      return(vbat1a);
    }
    et ça fonctionne, j'ai toujours l'erreur avec vbat1f, mais c'est normal, je regarde, mais j'ai 2 warning:
    Code:
    Warning[Pe223]: function declared implicitly
    sur
    Code:
      calcul_vbatt1 ( conv_AN_vbatt1 () );
    il sont déclaré pourtant comme ça:
    Code:
    unsigned short conv_AN_vbat1(void);
    float calcul_vbat1 (unsigned short);
    merci encore pour ton aide...

  16. #46
    invite3c35244f

    Re : [C] Transfert de paramètres

    Désolé...erreur de ma part, a force de faire des copier/coller...
    Par contre...ça compile, mais es ce que c'est vraiment correct ça:
    Code:
    char* TensionBatt1 (void)
    {
      conv_ftoa_vbat1 ( calcul_vbat1 ( conv_AN_vbat1 () ));
      return (vbat1a);
    }
    Merci beaucoup Seb26...et je te promet que je bouquine mon livre de C ce soir..jen ai besoin je crois...

  17. #47
    Seb.26

    Re : [C] Transfert de paramètres

    Citation Envoyé par jorg1n Voir le message
    ...et je te promet que je bouquine mon livre de C ce soir..jen ai besoin je crois...
    C'est à toi de voir, mais je crois qu'en effet ça te serait plus que bénéfique ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Demande De Parametres
    Par invited1f6e1ef dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 28/12/2007, 19h43
  2. parametres radio
    Par invited39a3825 dans le forum Électronique
    Réponses: 3
    Dernier message: 26/04/2007, 09h17
  3. Barycentre et paramètres
    Par invitede6f3928 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 11/12/2005, 20h53
  4. courbes paramétrés
    Par inviteabe6c916 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 21/01/2005, 16h58
  5. paramètres cinétiques
    Par invite0b7e2607 dans le forum Biologie
    Réponses: 2
    Dernier message: 20/12/2004, 13h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...