PIC 18F46J50 ==> ADC marche pas
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

PIC 18F46J50 ==> ADC marche pas



  1. #1
    terriblement

    PIC 18F46J50 ==> ADC marche pas


    ------

    Salut,

    j'utilise le PIC18F starter kit, et j'Essaie de faire une conversion A/D.
    Avec les programmes fournis en demo, la fonction ADC fonctionne correctement, cependant, quand j'essaie d'écrire moi même la fonction, ca marche pas, et je sais pas d'ou ca peut venir ...

    d'après la doc, le potentiomètre est sur le channel 4, et ce dernier est sur le port A5, que j'ai configuré en entrée.

    voici mon programme :

    #include "p18F46J50.h"
    void main()
    {
    int test=0;
    int i=0;
    long j = 0;
    int total = 0;
    TRISA = 0x20; //port 5 en entrée

    ANCON0 = 0xDF; // port 5 analog, reste dig
    ANCON1 = 0x1F; // gap eteint,00 obligatoire,rest dig

    ADCON1bits.ADFM = 1;
    ADCON1bits.ADCAL = 0;
    ADCON1bits.ACQT = 1;
    ADCON1bits.ADCS = 2;

    ANCON1bits.VBGEN = 1;

    ADCON0bits.VCFG0 = 0;
    ADCON0bits.VCFG1 = 0;
    ADCON0bits.CHS = 2;

    ADCON0bits.ADON = 1;

    for(i=0;i<5;i++)
    {
    for(j=0;j<100000;j++) //attente
    {
    }

    PIR1bits.ADIF = 0;
    ADCON0bits.GO=1;

    while(!PIR1bits.ADIF);
    test = ADRES;
    total += test;
    PIR1bits.ADIF = 0;
    }
    }

    merci.

    -----

  2. #2
    terriblement

    Re : PIC 18F46J50 ==> ADC marche pas

    dommage qu'il n'y a pas de fonction edit...

    ADCON0bits.CHS = 2; est bien sur a 4 et non 2...

  3. #3
    terriblement

    Re : PIC 18F46J50 ==> ADC marche pas

    Alors j'ai trouvé le pourquoi du comment pour ceux que ca interesse :

    #include "p18F46J50.h"
    void Initialisation();
    void main()
    {
    int valeur = 0 ;
    Initialisation();

    PIR1bits.ADIF = 0;

    ADCON0bits.GO=1;
    while(!PIR1bits.ADIF);
    valeur = ADRES;
    }

    void Initialisation()
    {
    int j = 0;

    TRISCbits.TRISC0 = 0;//doit etre en sortie car T1OSO sur cette broche (je pense que c'est pour cette raison)

    ANCON0 = 0xEF; // PCFG4 analog(0)car potentiomètre sur AN4, le reste digital(1)
    ANCON1 = 0x9F; //0b1001 1111//1:band gap reference activé,00:reservés,1 1111 : PINs digital
    ADCON0 = 0x11; //0b0001 0001// 0:Vref- = Vss; 0:Vref+ = Vdd; 0100:channel 4;0:conversion Idle;1:A/D activé
    ADCON1 = 0xBE; //0b1011 1110// 1:lsb a droite;0:conversion normale;111: 20Tad;110 : Fosc/64

    for(j=0;j<1000;j++)//petite tempo, il existe surement meilleur moyen
    {
    j++;
    }
    }

  4. #4
    terriblement

    Re : PIC 18F46J50 ==> ADC marche pas

    désolé pour le SPAM,

    mais c'est bien sur le port C qui posait problème dans mon cas

  5. A voir en vidéo sur Futura

Discussions similaires

  1. PIC 16F88 Mon montage ne marche pas !?!?!
    Par invite0c46e3a7 dans le forum Électronique
    Réponses: 3
    Dernier message: 23/09/2010, 10h21
  2. PORTA++ ne marche pas sur mon pic
    Par marvinc dans le forum Électronique
    Réponses: 4
    Dernier message: 22/05/2009, 16h38
  3. [PIC 16f886] Un simple code ne marche pas
    Par invite58d00525 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/02/2009, 14h34
  4. ADC et PIC
    Par invitebc2340ab dans le forum Électronique
    Réponses: 2
    Dernier message: 08/09/2008, 11h51
  5. PWM qui ne marche pas sur mon Pic :(
    Par invitef3bd5ad5 dans le forum Électronique
    Réponses: 16
    Dernier message: 28/01/2007, 13h01
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...