probleme pic 12f629
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

probleme pic 12f629



  1. #1
    invite8860b0b3

    probleme pic 12f629


    ------

    Bonjour,

    Petit problème de programmation d'un pic 12f629 :

    Pourquoi ne reconnait-il pas la lecture d'une entree GP0 ou GP1 ??
    Avec GP2 , GP4 ou GP5 tout fonctionne bien...
    GP0 et GP1 ne fonctionne qu'en sortie ????

    Ci-joint programme avec lecture GP0

    Essai avec 2 pics différents : meme problème....

    Si quelqu'un a la solution ???

    Merci beaucoup

    -----

  2. #2
    invite70a895ab

    Re : probleme pic 12f629

    GP0 et GP1 sont aussi des entrée pour le comparateur.

    As tu bien désactiver le comparateur ??

  3. #3
    invite092cb13c

    Re : probleme pic 12f629

    Bonjour
    GP0, GP1 et GP2 sont aussi utilisées pour le comparateur.
    La valeur au demarrage du registre CMCON (comparateur) est B'00000000', dans ces conditions GP2 est une I/O et GP0, GP1 sont les entrées du comparateur.
    Pour utiliser GP0, GP1 et GP2 en I/O classique il faut initialiser CMCON avec la valeur B'00000111'.
    Gilles

  4. #4
    invite8860b0b3

    Re : probleme pic 12f629

    Merci pour ces réponses si rapides !!

    Donc dans le programme ci-dessous (générer automatiquement par flowcode) le comparateur ne serait pas désactivé et donc les entrées non actives???


    /Definir pour microcontrôleur

    //Fonctions PIC
    #pragma CLOCK_FREQ 4000000
    #define P12F629
    #include <system.h>
    #define MX_EE
    #define MX_EE_TYPE1
    const char MX_EE_SIZE = 128;


    //Déclarations de fonction Macro


    //Déclarations de Variable
    char FCV_CLAP;

    //Implémentations Macro


    void main()
    {
    //Initialisation PIC>

    //Code d'initialisation d'Interruption
    option_reg = 0xC0;

    FCC_Principal_A:
    while(1)
    {
    trisio = trisio | 0x01;
    FCV_CLAP = (gpio & 0x01 == 0x01);

    if (( FCV_CLAP == 0 ) == 0) break;
    }
    trisio = trisio & 0xfb;
    if (1)
    gpio = gpio & 0xfb | 0x04;
    else
    gpio = gpio & 0xfb;

    delay_s(1);

    trisio = trisio & 0xfb;
    if (0)
    gpio = gpio & 0xfb | 0x04;
    else
    gpio = gpio & 0xfb;

    delay_s(1);

    goto FCC_Principal_A;
    mainendloop: goto mainendloop;
    }

    Merci

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

    Re : probleme pic 12f629

    Bonjour
    Je ne connais pas le flowcode, mais il ne me semble pas y avoir vu de CMCON=0x07 dans ton code.
    Attention c'est le même probleme si tu utilises un 16F628/7.
    Gilles

  7. #6
    invite8860b0b3

    Re : probleme pic 12f629

    UN GRAND merci à Ph3nix et gedonet pour leur réponse rapide et efficace !!

    J'ai effectivement ajouté la commande en code c CMCON=0x07 non généré par flowcode ...ET CA MARCHE !!

    Merci beaucoup...

Discussions similaires

  1. programmation C du 12f629
    Par marc2009 dans le forum Électronique
    Réponses: 411
    Dernier message: 17/05/2009, 09h57
  2. Probleme de programmation (PIC 12F629 )la seconde fois
    Par invite3a1051d7 dans le forum Électronique
    Réponses: 7
    Dernier message: 26/03/2009, 17h06
  3. lire un pic 12f629
    Par invite6ce15d51 dans le forum Électronique
    Réponses: 1
    Dernier message: 06/06/2008, 11h48
  4. Micro- programmes PIC 12f629
    Par invite12ff0607 dans le forum Électronique
    Réponses: 7
    Dernier message: 11/02/2008, 01h46
  5. Quel programateur pour le pic 12f629
    Par jojo86 dans le forum Électronique
    Réponses: 4
    Dernier message: 21/08/2006, 23h04
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...