analogReadResolution() sur Mega2560

Bonjour,

Vous avez dû voir cette question posée de nombreuses fois (comme moi quand je suis allé regarder les différents forum) mais je suis face à un petit souci :

J'utilise une Arduino Mega2560 (la carte est bien configurée sur l'IDE) et j'aimerais utiliser les 2 fonctions analogReadResolution() et analogWriteResolution() pour les mettre toutes les 2 sur 12 bits (utiliser le potentiel max de la carte).

Cependant, erreur classique, j'ai un message d'erreur indiquant 'analogReadResolution' was not declared in this scope ou 'analogWriteResolution' was not declared in this scope .

Concernant les fichiers analog_wiring.c (stocké dans : [C:\Program FIles (x86)\Arduino\hardware\arduino\avr\cores\arduino]) et analog_wiring.h, je n'ai trouvé que le .c et il n'y a aucune des 2 fonctions dedans.

Mon problème vient-il de là ? Si oui, comment "installer" ces 2 fonctions dans le .c ? Où se trouve le .h au final ?

Merci d'avance pour vos réponses ! :slight_smile:

Bonjour,

Si tu lis la description de la fonction analogReadResolution tu verras ceci:

analogReadResolution() is an extension of the Analog API for the Arduino Due, Zero and MKR Family.

Donc ces fonctions ne fonctionnent pas sur une Mega2560

Attention, ce n'est pas une limitation des librairies. C'est une limitation matérielle
Extrait de la doc de l'ATmega2560

The ATmega640/1280/1281/2560/2561 features a 10-bit successive approximation ADC.

Si tu veux une meilleure résolution il faudra changer de carte.

Punaise merci beaucoup ! Je me suis fais avoir en pensant que Due et Mega2560 était la même chose...

Merci de vos réponses et bonne journée !