Salut,
Dans le cadre de mon projet j'aimerais récupérer la valeur de mon potentiomètre de ma board "mclv2" qui nous a été donné pour faire différents tests dessus, le pic utilisé est le "dsPIC33EP256MC506".
J'ai trouvé un petit code sur le net qui m'avait l'air pas mal et que j'ai transposé pour mon pic.
http://www.learningaboutelectronics....er-circuit.php
Le code permet de faire varier l'intensité d'une led en fonction de la valeur du potentiomètre. Pour ma part je veux juste lire sur MPLABX la valeur de mon potentimètre.
Le code que j'ai est le suivant:
Le potentiomètre est sur AN13/RE13Code:void port_init (void) { TRISEbits.TRISE13 = 1; //potentiomètre en entrée TRISDbits.TRISD6 = 0; //diode en sortie //PORTDbits.RD6=0; //diode à 0 pour commencer } void adc_init(void) { //POT sur AN13/RE13 //DIODE sur RD6 AD1CHS0bits.CH0SB = 0b01101; //AN13 en analogue sur MUXB AD1CON1bits.ADON = 1; //ADC opérationnel } int analog_reading; adc_init(); port_init(); while(1) { AD1CON1bits.DONE=0; //on lance la conversion while(AD1CON1bits.DONE==0) //tant que la conversion n'est pas terminée { analog_reading=ADC1BUF0; //on récupère la valeur dans le buffer et on la met dans analog_reading, résultat sur 16 bits //PORTDbits.RD6=analog_reading; //on met la valeur donnée par le potentiomètre de manière analogique sur la diode afin d'observer les variations de son intensité en fonction de la valeur du potentiomètre } }
Le programme compile mais lorsque je le teste en réel, j'ai beau faire varier le potentiomètre, la valeur récupérée ne change pas.
Je pense que le problème est que la conversion AN ne se lance pas mais je n'arrive pas à le résoudre.
J'attends vos conseils merci d'avance.
-----