Moteur PWM: TCCR2A,TCCR2B, OCR2A, OCR2B

UniseV:
La sortie PWM de la pin 5 de l'Arduino que tu souhaite utiliser est OC0B, c'est à dire la sortie B du timer0... tu peux l'utiliser mais le timer0 est aussi utilisé par les fonctions Milis() & Micros().

Ralala quel boulet je fait, la broche D5 est une broche PWM, donc oui tu peut faire de la PWM hardware (avec analogWrite() par exemple).

Par contre cette broche PWM est "liée" au timer 0 qui gère les fonctions de temps (millis(), micros(), delay(), ...) si tu touche au prescaler et/ou aux interruptions du timer 0 tu va foutre en l'air tout ce qui est lié au temps "en arduino".

Donc si les 490Hz de base de analogWrite() te suffise c'est bon, sinon il faudra oublier millis(), ... (ou faire ta propre implémentation suivant la fréquence effective du timer)

UniseV:
PS: Pourquoi la plupart des codes utilisant les timer sont paramétré en Hexa ??? je trouve ça illisible, je préfère le faire en binaire sur une seule ligne...

Parce que la plupart des dév qui font du mix arduino/avr-c n'ont aucune idée de ce que _BV(bit) veut dire :wink:
Ps: le binaire c'est tout aussi illisible que de l'hexa et tout aussi dangereux :wink:

Exemple "propre" de manipulation de registre :

TIMSK2 = _BV(OCIE2B) | _BV(TOIE2);

Ou mieux sans toucher au reste du registre (si il y avait d'autres bits "utile") :

TIMSK2 = (TIMSK2 & ~_BV(OCIE2A))|_BV(OCIE2B)|_BV(TOIE2);