Buzzer et PWM

Pour toutes vos questions sur WinAVR, AVR-GCC et la programmation en C en général

Modérateur: Modérateur

Buzzer et PWM

Messagede Greg le 08 Mar 2008 0:09

Bonjour,
J'utilise le PWM pour faire sonner un buzzer

Code: Tout sélectionner
// PWM sur PB3 (OC2)
TCCR2 = _BV(CS21 ) | _BV(COM20) | _BV(WGM21);
OCR2 = 50;
DDRB  |= _BV(PINB3);         // BUZ en sortie


Maintenant, je voudrais faire des fonctions start_pwm et stop_pwm, mais je ne vois pas comment arrêter le pwm ?
Si je met OCR2 à 0, j'ai un bruit résiduel dans le buzzer.
Faut t'il réinitialiser TCCR2 ?
Merci de votre aide
Greg
 

Re: Buzzer et PWM

Messagede Invité le 08 Mar 2008 0:16

Apparement ça marche bien avec :

Code: Tout sélectionner
void start_bip() {
   TCCR2 = _BV(CS21 ) | _BV(COM20) | _BV(WGM21);
   OCR2 = 0xF0;
}

void stop_bip() {
   TCCR2 = 0x00;
   OCR2 = 0x00;
}


Est ce vraiment la méthode ?
Invité
 


Retourner vers WinAVR-AVR GCC

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités