Re...
Déjà tu dis que ta valeur n'est pas bonne... Elle devrait être quoi ?
Tu utilises
ADC_Read: selon le help de la fonction, tu ne sais pas à priori quelle est la valeur correspondant à 0x3F dans ton ADC (je pense que c'est Vdd = +5V environ mais j'en suis pas sûr.
Utilise dans ton initialisation
ADC_Init_Advanced(_ADC_EXTERNAL_VREFL |
_ADC_INTERNAL_FVRH1); (une seule fois, pas dans la boucle), FVRH1 est défini dans le help de la bib ADC
Ta valeur analogique correspondant à 0x3F sera alors de 1.023 V en entrée de l'ADC
Ensuite dans ta boucle utilise:
ADC_Get_Sample (1) ;
Ton LCD devrait t'indiquer 1023 quand tu as 1.023v en entrée... Il te reste à gérer la virgule
Nota:
j’utilise toujours ces 2 fonctions plutôt que ADC_read qui refait l'init à chaque fois,
Avec ta config 18F45K22, si tu as la PLL 4x (ie tu tournes à 32 MHz), la durée de ta conversion sera d'environ 60 µs (c'est ce que j'ai mesuré)
A plus !
Yffig