Bonjour à tous !
J'ai commencé hier la programmation de mon PIC18F45K22 afin de réaliser mon projet de fin d'étude. Pour se faire, j'utilise : un PICKIT3 avec la demoboard PICDEM2+ v2010.
Pour mes premiers pas dans la programmation de mon projet, j'ai voulu programmer mes entrées analogiques. En effet, je dois faire l'acquisition 4 données Analogiques. Pour le moment je me suis limiter à faire la lecture de la "tension de sortie" du potentiomètre de la carte PICDEM2+ relié à AN0. Et c'est là que cela coince, car le résultat de ma conversion n'évolue jamais ! Voici le programme que j'ai créé :
#include <p18f45k22.h>
#include "adc.h" //Bibliothèque de fonctions pour le CAN 10bits
#pragma config WDTEN = OFF // Watch Dog Timer disabled
#pragma config FOSC = INTIO67 // Internal Oscillator Block, RA6 & RA7 enabled
#pragma config DEBUG = ON // Background Debug enabled
#pragma config LVP = OFF // Low Voltage Programming disabled
#pragma config MCLRE = INTMCLR // RE3 enabled, MCLR disabled
unsigned int ADC_Result = 0 ; //Variable où se trouvera le résultat de la lecture du CAN
/* Déclarations des arguments de configuration du CAN */
unsigned char config = 0x00, config2 = 0x00, config3 = 0x00 ;
void main()
{
/* Initialisation des registres */
OSCCON = 0x62 ;
PORTA = 0x00 ;
PORTB = 0x00 ;
TRISA = 0x01 ;
TRISB = 0x00 ;
ANSELA = 0b00000001 ;
CloseADC();
/* Configuration du CAN */
config = ADC_FOSC_2 | ADC_RIGHT_JUST | ADC_2_TAD ;
config2 = ADC_CH0 | ADC_INT_OFF;
config3 = ADC_REF_VDD_VDD | ADC_REF_VDD_VSS ;
OpenADC(config, config2, config3) ;
while(1)
{
ConvertADC() ;
while(BusyADC()) ;
ADC_Result = (unsigned int) ReadADC() ;
CloseADC() ;
}
}
Voici le résultat :
Je pense avoir suivi les démarches décrites dans le Datasheet du micro, mais il ne veut rien savoir. Et ce que je trouve d'autant plus étonnant c'est qu'avec mon multimètre je mesure en permanence une valeur de quasi 5V sur AN0...
Par avance, merci de votre précieuse aide.
-----