Stap 3: De code
VOID pwm_init(void)
{
/ * OC1A pincode gebruiken als output * /
DDRB = _BV(PB5);
/*
* Schakel OC1A op vergelijk wedstrijd
* set OC1A onderaan, niet-inverterende modus
* Snelle PWM, 8 bit
*/
TCCR1A = _BV(COM1A1) | _BV(WGM10);
/*
* Snelle PWM, 8 bit
* Prescaler: clk/1 = 8 MHz
* PWM frequentie = 8MHz / (255 + 1) = 31.25kHz
*/
TCCR1B = _BV(WGM12) | _BV(CS10);
/ * eerste taakcyclus ingesteld op nul * /
OCR1A = 0;
/ * Setup Timer0 * /
TCCR0| = (1 << CS00);
TCNT0 = 0;
TIMSK| = (1 << TOIE0);
sample_count = 4;
Sei(); Inschakelen interrupts
}