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;
}
}
}
-----