Languages

Double PWM (Atmega644 pour effet stéréo)

Ce bout de code permet de générer du son en stéréo en utilisant deux sorties PWM d'un ATMEGA644.


#include < avr/io.h >

#define piezo PB3
#define piezo2 PB4

void InitTimer(void)
{
// ************ init timer **********

DDRB |= (1 << piezo); // OC0A on PB3
DDRB |= (1 << piezo2); // OC0B on PB4

TCCR0A |= ((1 << WGM00)|(1 << WGM01)|
(1 << COM0A1)|(1 << COM0A0)|
(1 << COM0B1)|(1 << COM0B0));

TCCR0B |= (1 << CS00);

}

int main() {

InitTimer();

for(;;)
{
OCR0A = 35; // PWM High speed PB3
OCR0B = 100; // PWM High speed PB4
}

}