[C/PIC18] - Warning [2054] suspicious pointer conversion
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[C/PIC18] - Warning [2054] suspicious pointer conversion



  1. #1
    jorg1n

    [C/PIC18] - Warning [2054] suspicious pointer conversion


    ------

    Bonjour,

    j'utilise actuellement un PIC18F6722, et j'utilise le compilateur MCC18...
    A un moment, dans le déroulement de mon programme, j'effectue une écriture dans l'EEPROM (variable déclarée en tant que unsigned short int)... mais j'ai ce Warning à la fin de la compilation:
    Warning [2054] suspicious pointer conversion

    L'erreur se trouve à cette ligne ci:
    Code:
    SaveIntoEEPROM (0x060,sizeof(Coef_Debitmetre),(unsigned char*)&Coef_Debitmetre);
    Voila le code de la fonction:
    Code:
    void SaveIntoEEPROM (unsigned short addr, unsigned char *ptr,  unsigned char dataLen)
    {
      while (dataLen--)
        {
          writeEEPROM ( addr++, *ptr++);
        }
    }
    Et voici le code de la fonction writeEEPROM:
    Code:
    void writeEEPROM ( unsigned short addr, unsigned char data)
    {
      static unsigned char GIE_Status = 0;
      EEADR=(addr&0x00FF);	            // Extraction des 8 bits faible de addr et les placent dans EEADR
      EEADRH=((addr>>8)&0x0003);	    // Decalage des 8 bits forts de addr/ et extraction des 2 bits faibles et les placent dans EEADRH
      EEDATA = data;	        		// Data to be written in EEPROM
      EECON1bits.EEPGD = 0;		        // Access data EEPROM memory
      EECON1bits.CFGS = 0;		        // Access Flash program or data EEPROM memory
      EECON1bits.WREN = 1;		        // Allows write cycles to Flash program/data EEPROM
    
      GIE_Status = INTCONbits.GIE;      //Save global interrupt enable bit
      INTCONbits.GIE=0;                 //Disable global interrupts
    
      EECON2 = 0x55;	        		// Required sequence to start write cycle
      EECON2 = 0xAA;					// Required sequence to start write cycle
      EECON1bits.WR = 1;		        // Initiates a data EEPROM erase/write cycle
      while(EECON1bits.WR);		        // Wait for completion of write sequence
    
      INTCONbits.GIE=GIE_Status;        //Restore the original global interrupt status
    
      PIR2bits.EEIF = 0;		        //The write operation is not complete or has not been started
      EECON1bits.WREN = 0;		        //Inhibits write cycles to Flash program/data EEPROM
    }
    Ce qui est étrange, c'est que j'ai déjà utilisé cette routine, et je n'ai jamais eu de Warning ou erreur!!!!


    Je vous remercie d'avance...
    Bonne fin de journée à tous!

    -----

  2. #2
    ventilopomme

    Re : [C/PIC18] - Warning [2054] suspicious pointer conversion

    coucou vivement le week end
    SaveIntoEEPROM (0x060,sizeof(Coef_Debitmetre) ,(unsigned char*)&Coef_Debitmetre);
    void SaveIntoEEPROM (unsigned short addr, unsigned char *ptr, unsigned char dataLen)
    alors je fais betement
    unsigned short addr = 0x060
    unsigned char *ptr = sizeof(Coef_Debitmetre)
    unsigned char dataLen = (unsigned char*)&Coef_Debitmetre
    rien ne te choque ?
    si tu dis non tu nous paies le café
    exclu à jamais du présent

  3. #3
    jorg1n

    Re : [C/PIC18] - Warning [2054] suspicious pointer conversion

    Autant pour moi.... je viens de trouver mon erreur, il y avait une erreur dans la déclaration de la fonction dans mon *.h....

    J'aurai du me relire une 10ème fois....

    Étourdi je suis !!!!

    Bonne fin de journée à tous

  4. #4
    jorg1n

    Re : [C/PIC18] - Warning [2054] suspicious pointer conversion

    Bonjour Ventilopomme!!!

    rien ne te choque ?
    oh que si !!!! j'ai inversé mes paramètres ...

    Comme tu dis , vivement le weekend !!!

    Merci pour ton aide en tout cas!

  5. A voir en vidéo sur Futura

Discussions similaires

  1. warning sur moto
    Par zeloi dans le forum Électronique
    Réponses: 10
    Dernier message: 18/03/2006, 06h12
  2. Pointer une planète
    Par invitee7707ca4 dans le forum Archives
    Réponses: 1
    Dernier message: 26/12/2005, 08h02