Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Probleme de compilation programme en C



  1. #1
    paolo123

    Probleme de compilation programme en C


    ------

    bonjour
    J'ai fais un programme en C que je souhaite compiler à l'aide de mikro C PRO afin de le convertier en fichier hexadécimal de sorte a le transférer correctement dans mon PIC16F84. Mon code est correct et pourtant mikroC PRO refuse de me compiler le programme en m'affichant plusieurs messages d'erreurs, ya til des configurations a faire sur ce compilateur, il ne comprend pas le C??

    Voila une photo du plus bas des erreurs qu'il m'affiche


    voici mon code


    //---------------------------------E/S et variables generales---------------------
    char sortie @ PORTB;
    bit inter1 @ RA0;
    bit inter2 @ RA1;
    bit inter3 @ RA4;
    bit inter4 @ RB5;
    bit led1 @ RB0;
    bit led2 @ RB1;
    bit led3 @ RB2;
    bit led4 @ RB3;
    //-----------------------------Variables generales--------------------------------
    char etat_inters;
    char temps;
    //-------------------------------Fonction principale------------------------------
    void main(void)
    {
    sortie = 0; // Initialisation des pattes du microcontroleur
    TRISB = 0b11110000;
    OPTION = 0b11000111; //prediviseur à 256 entrée : clock/4
    temps = 0;
    TMR0 = 0;
    etat_inters=0;
    for (; ; ) // s'effectue en boucle
    {
    etat_inters.0=inter1; // Mise de l'etat des inter dans la variable etat_inters
    etat_inters.1=inter2;
    etat_inters.2=inter3;
    etat_inters.3=inter4;
    switch (etat_inters){
    case 1: //action sur inter1 uniquement
    led1=1;
    led2=0;
    led3=0;
    break;
    case 2: // action sur inter2 uniquement
    led2=1;
    led1=0;
    led3=0;
    break;
    case 4: // action sur inter3 uniquement
    led1=1;
    led2=1;
    led3=1;
    break;
    case 8: // action sur inter4 uniquement
    led1=0;
    led2=0;
    led3=0;
    break;
    }
    if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
    if (temps == 16) { led4=!led4; temps = 0; } // 1,024 seconde est passé
    }
    }

    -----
    Images attachées Images attachées
    Dernière modification par paolo123 ; 14/10/2011 à 08h21.

  2. Publicité
  3. #2
    antoine6

    Re : Probleme de compilation programme en C

    Salut,

    Je connais pas Mikro C, mais je pense pas qu'il accepte un

    Code:
    char sortie @ PORTB;
    Ca veut dire quoi?

    Remplace tes char et bit par des #define ca marchera de suite mieux, et essaie de lire les messages d'erreur: il attend un point virgule, pas un @

  4. #3
    paolo123

    Re : Probleme de compilation programme en C

    Je l'ai remplacé par des define, ca ne marche toujours pas, il me trouve d'autres erreurs qui sont pas cohérents,

    connais tu un autre compilateur C efficace et gratuit stp?
    merci

  5. #4
    paolo123

    Re : Probleme de compilation programme en C

    et puis il faut pas mettre de directive de préprocesseur, c'est obligatoire pour compiler le programme ou bien?

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Lytharan

    Re : Probleme de compilation programme en C

    Les compilateurs C sont en deuil aujourd'hui, c'est pour ça !

  9. #6
    paolo123

    Re : Probleme de compilation programme en C

    comment je vais faire pour compiler mon code, j'en ai pas qu'un seul en plus, j'ai plusieurs prog en C que je dois faire marcher au plus vite et mikroC PRO c'est de la grosse merde, il trouve des erreurs partout lui alors qu'il devrait pas

  10. Publicité
  11. #7
    antoine6

    Re : Probleme de compilation programme en C

    Citation Envoyé par paolo123 Voir le message
    Je l'ai remplacé par des define, ca ne marche toujours pas, il me trouve d'autres erreurs qui sont pas cohérents,
    T'as remplacé par quoi? c'est quoi les erreurs affichées?

    Un autre compilateur: MPLAB + HiTech (par contre niveau ergonomie, ca va te changer)

  12. #8
    paolo123

    Re : Probleme de compilation programme en C

    non mais regarde j'ai essayé un programme de juste quelque lignes celui la








    main() {

    int i=0;

    while (TRUE) {

    output_a (i);
    output_b (i++);
    delay_ms (10);

    }



    tu vois et ca marche pas, il reconnait pas le true, le output_a et le output_b

  13. #9
    paolo123

    Re : Probleme de compilation programme en C

    Peux tu me donner le lien pour telecharger HigTech stp

  14. #10
    antoine6

    Re : Probleme de compilation programme en C

    Citation Envoyé par paolo123 Voir le message
    tu vois et ca marche pas, il reconnait pas le true, le output_a et le output_b
    Il le reconnait pas, et ca me semble normal

    tes fonctions sont déclarées ou? aucun include?

    output_a (i); et output_b (i++); ca sert à quoi?


    Fais un

    Code:
    main() {
    
    int i=0;
    
    while (TRUE) {
    
    i++;
    
    }
    Et regarde si ca compile

  15. #11
    ftorama

    Re : Probleme de compilation programme en C

    Citation Envoyé par paolo123 Voir le message
    comment je vais faire pour compiler mon code, j'en ai pas qu'un seul en plus, j'ai plusieurs prog en C que je dois faire marcher au plus vite et mikroC PRO c'est de la grosse merde, il trouve des erreurs partout lui alors qu'il devrait pas
    Avant de dire que c'est de la merde, tu ne t'es pas demandé si ça n'est pas toi qui en fait de la merde?

    Comme on dit, les mauvais ouvriers accusent leurs outils.

    Bref, d'un compilateur à l'autre, les formats de définition changent, notamment sur les bits. As-tu au moins ouvert l'aide du compilo pour savoir comment on déclarait un bit? Certaisn compilateurs le proposent, d'autres pas


    As-tu regardé si les "TRUE" et "FALSE" sont déjà définis?

    Il n'est pas rare et même classique dans un programme C d'ajouter un "#define FALSE 0" et un "#define TRUE 1" ou mieux "#define TRUE !0", le C pouvant renvoyer n'importe quelle valeur pour un TRUE (et là on peut commencer à parler de merde, mais c'est lié au langage lui-même et partagé par tous les compilos).

    Donc retour à la case documentation, comme d'habitude
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  16. #12
    antoine6

    Re : Probleme de compilation programme en C

    Citation Envoyé par paolo123 Voir le message
    Peux tu me donner le lien pour telecharger HigTech stp
    Tu cherche sur google

    Faudra surement que tu t'inscrive sur le site de Microchip pour pouvoir le telecharger

  17. Publicité
  18. #13
    RicounetZap

    Re : Probleme de compilation programme en C

    Bonjour

    As tu poster tout le code. Si oui, où sont les fichiers d'inclusion : #include <xxx.h> permettant de définir les différentes fonctions
    Ensuite, un #define xxx yyy ne prend pas de ';' à la fin
    Ensuite, je n'ai jamais vu un compilateur trouver des erreurs s'il n'y en a pas. Au pire, il accepte quelque chose qui ne devrait pas.
    Cordialement
    N'importe quoi, for ever :-)

  19. #14
    paolo123

    Re : Probleme de compilation programme en C

    j'ai tapé ce code


    #include <16f628.h>
    #fuses INTRC_IO, NOWDT, NOPROTECT, NOLVP, NOCPD, NOMCLR
    #use delay(clock=4000000)



    main() {

    int i=0;

    while (TRUE) {

    i++;

    }


    et ca compile pas il m'affiche ca en erreur il reconnait pas les directives de préprocesseur j'ai jamais utilisé mikroC dc peut etre qu'il y a des manip a faire

  20. #15
    antoine6

    Re : Probleme de compilation programme en C

    Citation Envoyé par paolo123 Voir le message
    et ca compile pas il m'affiche ca en erreur il reconnait pas les directives de préprocesseur j'ai jamais utilisé mikroC dc peut etre qu'il y a des manip a faire
    Et ils fournissent pas des fichiers exemple dans la doc du compilateur?

    On t'a dit plus haut que le TRUE serait certainement pas reconnu, mais un while(1) si le define est trop compliqué

  21. #16
    paolo123

    Re : Probleme de compilation programme en C

    main() {

    int i=0;

    while (1) {

    i++;

    } }


    J'ai mis ce code c'est bon il a compilé, par contre lorsque je rajoute

    #include <16f628.h>
    #fuses INTRC_IO, NOWDT, NOPROTECT, NOLVP, NOCPD, NOMCLR
    #use delay(clock=4000000)

    il reconnait pas

Discussions similaires

  1. probleme de compilation pour mon programme
    Par ticlement01 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 15/08/2009, 18h58
  2. Problème de compilation
    Par mecanica dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 15/09/2008, 03h07
  3. probleme de compilation d'un programme en c
    Par light59 dans le forum Électronique
    Réponses: 5
    Dernier message: 31/07/2008, 07h35
  4. compilation du programme par MPLAB
    Par clinon dans le forum Électronique
    Réponses: 1
    Dernier message: 19/10/2006, 06h47
  5. Probleme lors de la compilation d'un programme.
    Par Peuf dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 15/08/2006, 20h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.