Problème en C avec un PIC
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Problème en C avec un PIC



  1. #1
    invite69492ce1

    Problème en C avec un PIC


    ------

    Bonjour à tous.
    Je suis en face d'un problème dont je ne me sors pas. Voilà mon programme élémentaire :

    #include<htc.h> //Compilateur Hi-Tech PICC
    __CONFIG(INTIO &WDTDIS);

    void Init_PIC(void){
    OSCCON = 0b01111100; //osc 8 MHz
    TRISB = 0; // Port B output
    OPTION = 0b00000100;
    }
    main(){
    Init_PIC();
    for ( ; ; ){ // boucle infinie
    RB4 = 1; // OK
    RB1 = 1; // OK
    RB3 = 1; // Ca marche pas !
    }
    }

    J'utilise le programmateur Microchip ICD2. Lorsque je suis en mode Debug, tout va bien, mais lorsque je programme le PIC 16F88 la broche RB3 ne passe jamais à un !
    J'ai essayé plusieurs PCB et 4 PIC différents sans résultat.
    Est-ce que quelqu'un aurait une idée de ce qui se passe ?

    -----

  2. #2
    Seb.26

    Re : Problème en C avec un PIC

    Lis la datasheet ... RB3 est utilsé par d'autres périphériques, donc mettre TRISB3 en output ne suffit pas ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    ak47only

    Re : Problème en C avec un PIC

    Citation Envoyé par Seb.26 Voir le message
    Lis la datasheet ...
    C'est drôle de nombre de gens qui ne savent pas (ou qui ne pense pas à) lire une datasheet et pourtant c'est la 1er chose à faire !!!

  4. #4
    invite69492ce1

    Re : Problème en C avec un PIC

    Merci Seb.26 et ak47only,

    C'est bien ça en effet. RB3 sert aussi pour le LVP et il m'a suffit de désactiver cette option dans le config pour que tout marche.

    Il y a tout de même quelque chose qui me tracasse, c'est que au début ça a quand même marché. Ca s'est arrêté, ça a repris et depuis hier ça ne marchait plus du tout. Alors que cela n'aurait jamais du marcher !

    Vous avez raison de dire qu'il faut lire les datasheet, mais comme cela fonctionnait très bien en Debug, il ne m'est jamais venu à l'idée que RB3 pouvait changer de fonction lorsque l'on quitte le mode ICD.

    Enfin, merci encore pour votre aide

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

    Re : Problème en C avec un PIC

    Salut,

    L'ICD2 ne sait pas gérer le mode LVP. Je suppose donc qu'en mode DEBUGGER, MPLAB le désactive automatiquement, ce qui ne semble pas être la cas en mode PROGRAMMER.

    Cela dit attention aux broches qui sont multiplexées avec des broches analogiques telles que les ANx (CAN ou comparateurs), car le mode analogique est prioritaire sur le mode digital dans tous les PICs...

    a+

  7. #6
    invite69492ce1

    Re : Problème en C avec un PIC

    Ce qui est étonnant, comme je le disais plus haut c'est que ça ait quand même marché au début et c'est cela qui m'a perturbé. Il semble bien en effet que le LVP soit automatiquement désactivé en Debug, mais il semble aussi qu'il n'est pas réactivé à tous les coups en mode Programmer.

    Le principal c'est que maintenant ça marche !

    Bonne journée à tous

  8. #7
    RISC

    Re : Problème en C avec un PIC

    Salut,

    C'est pour cela qu'il faut définir les bits de configuration.

    Rien n'arrive au hasard dans les micros...un bug, s'il disparait et qu'on en trouve pas la cause reviendra en force au moment ou on l'attend le moins (variante de la loi de Murphy)

    a+

  9. #8
    ak47only

    Re : Problème en C avec un PIC

    Citation Envoyé par RISC Voir le message
    Rien n'arrive au hasard dans les micros...un bug, s'il disparait et qu'on en trouve pas la cause reviendra en force au moment ou on l'attend le moins (variante de la loi de Murphy)
    Salut,
    oui est la probabilité que le bug revienne est proportionnelle à l'importance du moment.
    En gros le bug revienne le plus souvent leurs de présentations (expérience personnelle)

  10. #9
    Seb.26

    Re : Problème en C avec un PIC

    Citation Envoyé par ak47only Voir le message
    En gros le bug revienne le plus souvent leurs de présentations (expérience personnelle)
    L'effet démo est complètement irrationnel, et pourtant quasi systématique !!!
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  11. #10
    invite69492ce1

    Re : Problème en C avec un PIC

    C'est bien un peu ce qui s'est passé.
    Sur le module que j'ai construit, ce PIC arrivait à marcher, mais c'est lorsque j'ai programmé un autre PIC pour un copain que ça n'a plus jamais voulu marcher. C'est pour cela qu'il fallait absolument que je trouve la solution !

Discussions similaires

  1. Pic, probleme avec l'ADC
    Par invite07bc4d05 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/03/2009, 14h48
  2. Probleme avec pic
    Par invite7a4a1434 dans le forum Électronique
    Réponses: 16
    Dernier message: 28/09/2007, 14h03
  3. probleme avec pic
    Par invite2b3d9dd6 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/07/2007, 14h50
  4. Problème avec Pic basic 1S
    Par invitee66c3aa9 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/02/2007, 19h54
  5. Probleme CAN avec PIC
    Par invite70a6d0ab dans le forum Électronique
    Réponses: 1
    Dernier message: 09/06/2006, 16h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...