[Programmation] probleme pour le passage en fichier .hex
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

probleme pour le passage en fichier .hex



  1. #1
    bullkiki

    probleme pour le passage en fichier .hex


    ------

    bjr a tous , je recherche des infos pour transformer un programme en C en fichier hex , je suis bloquer par le compilateur merci d avance. Je vous joint le fichier pour mieux comprendre pourquoi il ne passe pas en hex , le programme fonctionne bien il est deja installer mais lorsque je veux le modifier juste sur une tempo, je bloque pour le compiler. j 'utilise mplab v3.25




    Code:
    #include <16f1936.h>
    #fuses INTRC_IO,NOWDT,PUT,NOLVP,NOPROTECT,NOMCLR,NOCPD,WRT,
    #use delay (clock = 16mhz)
    #byte port_a = 0x0C
    #byte port_b = 0x0D
    #byte port_c = 0x0E
    #byte port_e = 0x10
    #define LED1 PIN_C3
    #define LED2 PIN_C0
    #define LED3 PIN_C5
    #define LED4 PIN_C4
    #define M1A PIN_B3
    #define M1B PIN_B2
    #define BP PIN_B4
    #define CLK PIN_B0
    #define LEDIR PIN_B5
    #define BP PIN_B4
    #define ON output_high 
    #define OFF output_low
    int PassageChat,BacacaPlein;
    unsigned long int i,j,TempButton,delayPass,TBP,TMot1n,TMot1r;
    unsigned int8 VitesseMot3,VitesseMot2,Menu,MemMenu;
    void dimmer()
    {
    setup_oscillator(OSC_16MHZ);
    setup_timer_2(T2_DIV_BY_1,255,1);
    setup_ccp1(CCP_PWM);
    set_pwm1_duty(VitesseMot3);
    setup_ccp2(CCP_PWM);
    set_pwm2_duty(VitesseMot2);
    }
    void ModulationIR()
    {
    for(i=0;i<=36;i++)
       {
       ON(LEDIR);
       delay_us (28);
       OFF(LEDIR);
       delay_us (26);
       }
    if(i==37)
       {
    
    
    
    
    
    
       ON(CLK);
       delay_ms (1);
       }   
    }
    void gencode()
    {
             OFF(CLK);
             ModulationIR();
             
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
             OFF(CLK);
             ModulationIR();
             
             OFF(CLK);
             ModulationIR();
             OFF(CLK);
             ModulationIR();
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
             OFF(CLK);
             ModulationIR();
             OFF(CLK);
             bit_clear(port_B,5);
             delay_ms (2);
    }
    void ButtonBP()
    {
    if(bit_test(port_B,4))
       {
       while(bit_test(port_B,4))
          {
          delay_ms(10);
          TempButton++;
          if (TempButton>=TBP)
             {
             ON(LED1);
             ON(LED2);
             ON(LED3);
             ON(LED4);
             }
          
          }
       if((!bit_test(port_B,4))&&(TempButton<TBP))
          {
    
    
    
    
    
    
          if(Menu<=0x04)
             {
             TempButton=0;
             Menu++;
             delay_ms(10);
             }
          if(Menu==0x05)
             {
             TempButton=0;
             Menu=0x01;
             delay_ms(10);
             }
          }
       else if((!bit_test(port_B,4))&&(TempButton>=TBP))
             {
             Menu=0X00;
             TempButton=0;
             delay_ms(10);
             }
       }
    }
    void Mot1Av()
    {
    OFF(M1A);
    ON(M1B);
    }
    void Mot1Arr()
    {
    ON(M1A);
    OFF(M1B);
    }
    void Mot1Stop()
    {
    OFF(M1A);
    OFF(M1B);
    }
    void Nettoyage()
    {
    VitesseMot2=255;
    dimmer();
    for(i=0;i<10;i++)
       {
       delay_ms(2000);
       }
    Mot1Av();
    delay_ms(TMot1n);
    delay_ms(TMot1n);
    Mot1Stop();
    delay_ms(1000);
    VitesseMot3=255;
    dimmer();
    Mot1Arr();
    delay_ms(TMot1r);
    VitesseMot3=0;
    dimmer();
    delay_ms(200);
    VitesseMot2=0;
    dimmer();
    Mot1Stop();
    BacacaPlein++;
    
    
    
    
    
    
    }
    void main()
    {
    port_A=0;
    port_B=0;
    port_C=0;
    TempButton=0;
    TBP=250;
    TMot1n=7100;
    TMot1r=5000;
    j=0;
    PassageChat=0;
    delayPass=0;
    BacacaPlein=0;
    set_tris_a(0xFF);
    set_tris_b(0x12);
    set_tris_c(0x80);
    set_tris_e(0xFF);
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    for(i=0;i<1;i++)
    {
    ON(LED1);
    ON(LED2);
    ON(LED3);
    ON(LED4);
    delay_ms(250);
    OFF(LED1);
    OFF(LED2);
    OFF(LED3);
    OFF(LED4);
    delay_ms(200);
    }
    Menu=read_eeprom(MemMenu);
    delay_ms(200);
    if((Menu!=0x00)&&(Menu!=0x01)&&(Menu!=0x02)&&(Menu!=0x03)&&(Menu!=0x04))
       {
       Menu=0x00;
       }
    for(;;)
    {
    ButtonBP();
    if(BacacaPlein>=5)
    {
    Menu=0;
    }
    if(Menu==0x00)
       {
       write_eeprom(MemMenu,Menu);
       while(menu==0x00)
          {
          ButtonBP();
          gencode();
          if (port_A==0x46)
             {
             ON(LED1);
             ON(LED2);

    -----
    Dernière modification par Antoane ; 23/02/2016 à 16h43. Motif: Ajout balises code

  2. #2
    Yoruk

    Re : probleme pour le passage en fichier .hex

    Donne les éventuels messages d'erreur...

    PS : ton code est complet ? Il manques des accolades fermantes à la fin...?
    La robotique, c'est fantastique !

  3. #3
    bullkiki

    Re : probleme pour le passage en fichier .hex

    Code:
    make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
    make[1]: Entering directory 'C:/Users/ludo/MPLABXProjects/dvvd.X'
    make  -f nbproject/Makefile-default.mk dist/default/production/dvvd.X.production.hex
    make[2]: *** No rule to make target 'build/default/production/_ext/818689208/CATBOX-V2.01.o', needed by 'dist/default/production/dvvd.X.production.hex'.  Stop.
    make[2]: Entering directory 'C:/Users/ludo/MPLABXProjects/dvvd.X'
    make[1]: *** [.build-conf] Error 2
    make[2]: Leaving directory 'C:/Users/ludo/MPLABXProjects/dvvd.X'
    make: *** [.build-impl] Error 2
    nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed
    make[1]: Leaving directory 'C:/Users/ludo/MPLABXProjects/dvvd.X'
    nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
    
    BUILD FAILED (exit value 2, total time: 141ms)
    voila le bordel quand j essaye de le compiler , pour les accolades tu a raison il manque.
    Code:
    #include <16f1936.h>
    #fuses INTRC_IO,NOWDT,PUT,NOLVP,NOPROTECT,NOMCLR,NOCPD,WRT,
    #use delay (clock = 16mhz)
    
    #byte port_a = 0x0C
    #byte port_b = 0x0D
    #byte port_c = 0x0E
    #byte port_e = 0x10
    
    #define LED1 PIN_C3
    #define LED2 PIN_C0
    #define LED3 PIN_C5
    #define LED4 PIN_C4
    #define M1A PIN_B3
    #define M1B PIN_B2
    #define BP PIN_B4
    #define CLK PIN_B0
    #define LEDIR PIN_B5
    #define BP PIN_B4
    
    #define ON output_high 
    #define OFF output_low
    
    int PassageChat,BacacaPlein;
    unsigned long int i,j,TempButton,delayPass,TBP,TMot1n,TMot1r;
    unsigned int8 VitesseMot3,VitesseMot2,Menu,MemMenu;
    
    
    
    void dimmer()
    {
    setup_oscillator(OSC_16MHZ);
    setup_timer_2(T2_DIV_BY_1,255,1);
    
    setup_ccp1(CCP_PWM);
    set_pwm1_duty(VitesseMot3);
    
    setup_ccp2(CCP_PWM);
    set_pwm2_duty(VitesseMot2);
    }
    
    void ModulationIR()
    {
    for(i=0;i<=36;i++)
       {
       ON(LEDIR);
       delay_us (28);
       OFF(LEDIR);
       delay_us (26);
       }
    if(i==37)
       {
       ON(CLK);
       delay_ms (1);
       }   
    }
    
    void gencode()
    {
             OFF(CLK);
             ModulationIR();
             
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
    
             OFF(CLK);
             ModulationIR();
             
             OFF(CLK);
             ModulationIR();
    
             OFF(CLK);
             ModulationIR();
    
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
    
             OFF(CLK);
             OFF(LEDIR);
             delay_ms (1);
             ON(CLK);
             delay_ms (1);
    
             OFF(CLK);
             ModulationIR();
    
             OFF(CLK);
             bit_clear(port_B,5);
             delay_ms (2);
    }
    
    void ButtonBP()
    {
    if(bit_test(port_B,4))
       {
       while(bit_test(port_B,4))
          {
          delay_ms(10);
          TempButton++;
          if (TempButton>=TBP)
             {
             ON(LED1);
             ON(LED2);
             ON(LED3);
             ON(LED4);
             }
          
          }
       if((!bit_test(port_B,4))&&(TempButton<TBP))
          {
          if(Menu<=0x04)
             {
             TempButton=0;
             Menu++;
             delay_ms(10);
             }
          if(Menu==0x05)
             {
             TempButton=0;
             Menu=0x01;
             delay_ms(10);
             }
          }
       else if((!bit_test(port_B,4))&&(TempButton>=TBP))
             {
             Menu=0X00;
             TempButton=0;
             delay_ms(10);
             }
       }
    }
    
    void Mot1Av()
    {
    OFF(M1A);
    ON(M1B);
    }
    
    void Mot1Arr()
    {
    ON(M1A);
    OFF(M1B);
    }
    
    void Mot1Stop()
    {
    OFF(M1A);
    OFF(M1B);
    }
    
    void Nettoyage()
    {
    VitesseMot2=255;
    dimmer();
    for(i=0;i<10;i++)
       {
       delay_ms(2000);
       }
    Mot1Av();
    delay_ms(TMot1n);
    delay_ms(TMot1n);
    Mot1Stop();
    delay_ms(1000);
    VitesseMot3=255;
    dimmer();
    Mot1Arr();
    delay_ms(TMot1r);
    VitesseMot3=0;
    dimmer();
    delay_ms(200);
    VitesseMot2=0;
    dimmer();
    Mot1Stop();
    BacacaPlein++;
    }
    
    void main()
    {
    port_A=0;
    port_B=0;
    port_C=0;
    TempButton=0;
    TBP=250;
    TMot1n=7100;
    TMot1r=5000;
    j=0;
    PassageChat=0;
    delayPass=0;
    BacacaPlein=0;
    
    set_tris_a(0xFF);
    set_tris_b(0x12);
    set_tris_c(0x80);
    set_tris_e(0xFF);
    
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    
    for(i=0;i<1;i++)
    {
    ON(LED1);
    ON(LED2);
    ON(LED3);
    ON(LED4);
    delay_ms(250);
    OFF(LED1);
    OFF(LED2);
    OFF(LED3);
    OFF(LED4);
    delay_ms(200);
    }
    Menu=read_eeprom(MemMenu);
    delay_ms(200);
    if((Menu!=0x00)&&(Menu!=0x01)&&(Menu!=0x02)&&(Menu!=0x03)&&(Menu!=0x04))
       {
       Menu=0x00;
       }
    
    for(;;)
    {
    ButtonBP();
    if(BacacaPlein>=5)
    {
    Menu=0;
    }
    if(Menu==0x00)
       {
       write_eeprom(MemMenu,Menu);
       while(menu==0x00)
          {
          ButtonBP();
          gencode();
          if (port_A==0x46)
             {
             ON(LED1);
             ON(LED2);
             ON(LED3);
             ON(LED4);
             }
          else
             {
             ON(LED1);
             ON(LED2);
             ON(LED3);
             ON(LED4);
             delay_ms(100);
             OFF(LED1);
             OFF(LED2);
             OFF(LED3);
             OFF(LED4);
             delay_ms(100);
             }
          }
          ON(LED1);
          ON(LED2);
          ON(LED3);
          ON(LED4);
          Nettoyage();
          BacacaPlein=0;
       }
    OFF(LED1);
    OFF(LED2);
    OFF(LED3);
    OFF(LED4);
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    delayPass=0;
    PassageChat=0;
    
    if((Menu==0x01)&&(BacacaPlein<5))
       {
       write_eeprom(MemMenu,Menu);
       while((Menu==0x01)&&(BacacaPlein<5))
          {
          ButtonBP();
          ON(LED1);
          OFF(LED2);
          OFF(LED3);
          OFF(LED4);
          gencode();
          if ((port_A==0x46) && (PassageChat<2))
             {
             if(delayPass<10)
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass==10)
                {
                delayPass++;
                PassageChat++;
                ON(LED1);
                ON(LED2);
                ON(LED3);
                ON(LED4);
                delay_ms(100);
                OFF(LED1);
                OFF(LED2);
                OFF(LED3);
                OFF(LED4);
                }
            if((delayPass>10)&&(delayPass<1250))
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass>=1250)
                {
                delay_ms(100);
                delayPass=0;
                }
             }
          if (PassageChat>=2)
             {
             gencode();
             if (port_A==0x46)
                {
                while(port_A==0x46)
                   {
                   ON(LED1);
                   ON(LED2);
                   ON(LED3);
                   ON(LED4);
                   gencode();
                   delay_ms(100);
                   }
                   OFF(LED1);
                   OFF(LED2);
                   OFF(LED3);
                   OFF(LED4);
                }
             
          for(i=0;i<1200;i++)
             {
             delay_ms(100);
             }
             
             Nettoyage();
             delayPass=0;
             PassageChat=0;
             }   
          }
       }
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    
    if((Menu==0x02)&&(BacacaPlein<5))
       {
       write_eeprom(MemMenu,Menu);
       while((Menu==0x02)&&(BacacaPlein<5))
          {
          ButtonBP();
          OFF(LED1);
          ON(LED2);
          OFF(LED3);
          OFF(LED4);
          gencode();
          if ((port_A==0x46) && (PassageChat<3))
             {
             if(delayPass<3)
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass==3)
             {
                delayPass++;
                PassageChat++;
                ON(LED1);
                ON(LED2);
                ON(LED3);
                ON(LED4);
                delay_ms(100);
                OFF(LED1);
                OFF(LED2);
                OFF(LED3);
                OFF(LED4);
                }
            if((delayPass>3)&&(delayPass<1250))
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass>=1250)
                {
                delay_ms(100);
                delayPass=0;
                }
             }
          if (PassageChat>=3)
             {
             gencode();
             if (port_A==0x46)
                {
                while(port_A==0x46)
                   {
                   ON(LED1);
                   ON(LED2);
                   ON(LED3);
                   ON(LED4);
                   gencode();
                   delay_ms(100);
                   }
                   OFF(LED1);
                   OFF(LED2);
                   OFF(LED3);
                   OFF(LED4);
                }
             
          for(i=0;i<1200;i++)
             {
             delay_ms(100);
             }
             Nettoyage();
             delayPass=0;
             PassageChat=0;
             }   
          }
       }
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    
    if((Menu==0x03)&&(BacacaPlein<5))
       {
       write_eeprom(MemMenu,Menu);
       while((Menu==0x03)&&(BacacaPlein<5))
          {
          ButtonBP();
          OFF(LED1);
          OFF(LED2);
          ON(LED3);
          OFF(LED4);
          gencode();
          if ((port_A==0x46) && (PassageChat<4))
             {
             if(delayPass<10)
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass==10)
                {
                delayPass++;
                PassageChat++;
                ON(LED1);
                ON(LED2);
                ON(LED3);
                ON(LED4);
                delay_ms(100);
                OFF(LED1);
                OFF(LED2);
                OFF(LED3);
                OFF(LED4);
                }
            if((delayPass>10)&&(delayPass<1250))
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass>=1250)
                {
                delay_ms(100);
                delayPass=0;
                }
             }
          if (PassageChat>=4)
             {
             gencode();
             if (port_A==0x46)
                {
                while(port_A==0x46)
                   {
                   ON(LED1);
                   ON(LED2);
                   ON(LED3);
                   ON(LED4);
                   gencode();
                   delay_ms(100);
                   }
                   OFF(LED1);
                   OFF(LED2);
                   OFF(LED3);
                   OFF(LED4);
                }
             
          for(i=0;i<1200;i++)
             {
             delay_ms(100);
             }
             Nettoyage();
             delayPass=0;
             PassageChat=0;
             }   
          }
       }
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    
    if((Menu==0x04)&&(BacacaPlein<5))
       {
       write_eeprom(MemMenu,Menu);
       while((Menu==0x04)&&(BacacaPlein<5))
          {
          ButtonBP();
          OFF(LED1);
          OFF(LED2);
          OFF(LED3);
          ON(LED4);
          gencode();
          if ((port_A==0x46) && (PassageChat<5))
             {
             if(delayPass<10)
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass==10)
                {
                delayPass++;
                PassageChat++;
                ON(LED1);
                ON(LED2);
                ON(LED3);
                ON(LED4);
                delay_ms(100);
                OFF(LED1);
                OFF(LED2);
                OFF(LED3);
                OFF(LED4);
                }
            if((delayPass>10)&&(delayPass<1250))
                {
                delayPass++;
                delay_ms(100);
                }
             if(delayPass>=1250)
                {
                delay_ms(100);
                delayPass=0;
                }
             }
          if (PassageChat>=5)
             {
             gencode();
             if (port_A==0x46)
                {
                while(port_A==0x46)
                   {
                   ON(LED1);
                   ON(LED2);
                   ON(LED3);
                   ON(LED4);
                   gencode();
                   delay_ms(100);
                   }
                   OFF(LED1);
                   OFF(LED2);
                   OFF(LED3);
                   OFF(LED4);
                }
             
          for(i=0;i<1200;i++)
             {
             delay_ms(100);
             }
             Nettoyage();
             delayPass=0;
             PassageChat=0;
             }   
          }
       }
    Mot1Stop();
    VitesseMot3=0;
    VitesseMot2=0;
    dimmer();
    
        }
    }
    merci pour ton aide
    Dernière modification par Antoane ; 23/02/2016 à 16h44. Motif: Ajout balises code

  4. #4
    bullkiki

    Re : probleme pour le passage en fichier .hex

    Le programme a était rédiger par un pro avec ccs compiler qui est un soft payant , tu connais .

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

    Re : probleme pour le passage en fichier .hex

    Donc si je comprends bien une version précédente de ce programme à pu compiler ? Tu as rajouté quoi ?

    PS : Le prochain coup, place ton code entre balises CODE histoire de simplifier la lecture...
    La robotique, c'est fantastique !

  7. #6
    bullkiki

    Re : probleme pour le passage en fichier .hex

    j ai rien toucher sauf le tmot1n et tmot1r
    , oui il tourne regarde sur www.hl.inno.com;

  8. #7
    Yoruk

    Re : probleme pour le passage en fichier .hex

    Citation Envoyé par bullkiki Voir le message
    rédiger par un pro avec ccs compiler qui est un soft payant
    Le problème est peut-être là non ? Ton compilateur gratuit n'est peut-être pas adapté ?

    Attendons l'avis de pros des pics...
    La robotique, c'est fantastique !

Discussions similaires

  1. Problème pour ouvrir un fichier
    Par zoulette275879 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 12/06/2015, 18h23
  2. Problème fichier xml pour annuaire en c#
    Par xflr6 dans le forum Programmation et langages, Algorithmique
    Réponses: 16
    Dernier message: 28/10/2014, 02h50
  3. PERL, passage de paramètres d'un fichier à un autre
    Par Le Génie de la Lampe dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 11/04/2012, 10h28
  4. probleme pour lancer mon fichier zip
    Par jonh35 dans le forum Logiciel - Software - Open Source
    Réponses: 12
    Dernier message: 25/03/2009, 20h00
  5. Problème pour éffacer un fichier
    Par invite580796a8 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 30/04/2004, 12h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.