utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18



  1. #1
    inviteadb2df5e

    utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18


    ------

    Bonjour,

    J'ai essayé d'utiliser le convertisseur analogique numérique sur un PIC18F4520 mais cela ne fonctionne pas du tout. Je programme en C sous MPLAB IDE 8.03 avec C18 comme compilateur.

    Je branche un potentiomètre sur mon entrée A0 et on dirait quand le programme tourne que le while(1) ne reboucle pas et qu'il y a un changement d'état de s diodes uniquement lorsqu'il y a 5V sur la broche A0 ou 0V. Je ne comprends pas cette erreur. Je pense que cela vient d'une mauvaise configuration de OpenADC().
    Pouvez vous m'aider???

    Merci d'avance!!

    Voici mon code :
    #include <p18f4520.h>
    #include <delays.h>
    #include <adc.h>

    int result=0;

    void main(void)
    {


    TRISA=0b11111011; //Port A en entrée sauf le A2
    TRISD=0b00000010; //tout le port D en sortie sauf le D1

    PORTD=0x02;

    result=0;

    OpenADC(ADC_FOSC_2 , ADC_CH0 & ADC_INT_OFF, 15);

    while(1)
    {
    SetChanADC(0); //sélection de l'entrée analogique
    ConvertADC(); //conversion de la valeur analogique en numérique
    while(BusyADC()); //on attend que ça se termine
    result=ReadADC(); //on enregistre la valeur
    if(result>512) //condition sur la valeur
    {
    PORTDbits.RD7=1;
    PORTDbits.RD6=0;
    }
    else
    {
    PORTDbits.RD7=0;
    PORTDbits.RD6=1;
    }
    }

    }

    -----

  2. #2
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Pitié!!! Répondez moi!!!!
    Mon principal problème est que quand je mets le code type de la datasheet des instructions sous C18, il me met un "BUILD FAILED" en me disant qu'il n'ya pas assez de paramètre dans la fonction. Alors que dans cette datasheet, c'est bien pour un 18F4520!!!ça me rend fou!!!

  3. #3
    RISC

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Salut,

    Peux-tu poster tes messages d'erreur ?
    Je n'utilise pas les librairies du C18 mais d'après ce que tu décris, ca devrait être possible de trouver ou se situe le PB.

    Tu peux également utiliser le forum de la communauté dédié au C18 : http://forum.microchip.com/tt.aspx?forumid=3

    Tu trouveras également des très bons tutos ici : http://www.aix-mrs.iufm.fr/formation...indexPIC_C.htm

    a+

  4. #4
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Voilà l'erreur qu'il me donne :

    C:\Documents and Settings\froubieu\Bureau\picde m\test.c:121:Error [1203] too few arguments in function call

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

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Voilà le code

    #include <p18f4520.h>
    #include <delays.h>
    #include <adc.h>

    int result=0;

    void main(void)
    {
    TRISA=0b00000000;

    TRISC=0x00;
    TRISD=0b00000000;


    PORTD=0x00;

    result=0;
    OpenADC(ADC_FOSC_2 , ADC_CH0 & ADC_INT_OFF);

    while(1)
    {
    SetChanADC(0);
    ConvertADC();
    while(BusyADC());
    result=ReadADC();
    if(result>512)
    {
    PORTDbits.RD7=1;
    PORTDbits.RD6=0;
    }
    else
    {
    PORTDbits.RD7=0;
    PORTDbits.RD6=1;
    }
    }

    }

  7. #6
    RISC

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Bonsoir,

    Regarde bien la documentation des librairies concernant la fonction openADC() pages 10 à 15 :
    http://ww1.microchip.com/downloads/e...ies_51297f.pdf

    Pour le PIC18F4520, la fonction openADC() est définie comme suit :
    openADC() ALL OTHER PROCESSORS !!!

    void OpenADC(unsigned char config, unsigned char config2, unsigned char portconfig);

    Comme le message d'erreur le suggère, il te manque un argument...car le PIC18F4520 n'étant pas listé dans les fonctions openADC du manuel, il faut prendre la dernière qui a 3 paramètres au lieu de 2 pour les autres ;=)

    a+

  8. #7
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    C'est vrai mais je ne comprends pas à quoi correspond ce paramètre...

  9. #8
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    C'est bon, j'ai bien compris, j'avais mal lue la datasheet!!!! Ca marche!! En fait je ne comprenais pas le 3ème paramètre mais maintenant c'est bon!!

  10. #9
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Merci en tout cas de ton aiguillage!!!

  11. #10
    invite1be1ff21

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Si je peux me permettre,

    fais attention au quantum ( CAN resolution 10bit, multiplie la lecture du can par (5/1024.) La division prend trop de temps autant multiplier par 0,0048828125

    Et oublie pas de regarder la datasheet du 18f4520
    =>
    Code HTML:
    http://ww1.microchip.com/downloads/en/DeviceDoc/39631D.pdf
    page 225- 235 où tu as tous les registre ADCONx ( à configurer par exemple 0000 pour AN0)

    Dans ton code je ne vois pas ces registres definis a moins que OpenADC le fasse, perso j'utilise une fonction init ( qui comprend des "CASE" sclon le nombre de convertisseurs utilisés )

    Si besoin j'ai porgrammé un 18f4520 (CAN + LCD sur PortD) qui fesait exactement ce que tu voulais, lire la valeur du potar (RA0), l'ecrire sur le LCD, ou si la valeur etait comprise sur une plage allumait une DEl ou une autre...

    Nico

  12. #11
    inviteadb2df5e

    Re : utilisation du convertisseur analogique numérique DU 18F4520 avc MPLAB C18

    Merci de ta réponse, je serais bien curieux de voir ton code avec la partie LCD!!! Merci d'avance

Discussions similaires

  1. Convertisseur analogique/numerique
    Par inviteeddea82a dans le forum Électronique
    Réponses: 9
    Dernier message: 29/02/2012, 11h52
  2. Conversion analogique-numerique pic 18f4520
    Par invitea6488f97 dans le forum Électronique
    Réponses: 1
    Dernier message: 17/05/2008, 21h29
  3. Convertisseur analogique numérique
    Par invite4cae1c4b dans le forum Électronique
    Réponses: 13
    Dernier message: 23/12/2007, 21h26
  4. Convertisseur Analogique Numerique
    Par invite0b127ea6 dans le forum Électronique
    Réponses: 10
    Dernier message: 08/06/2006, 20h50
  5. Convertisseur Analogique - Numérique
    Par invite2fcb2666 dans le forum Électronique
    Réponses: 3
    Dernier message: 15/12/2005, 18h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...