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
}
}