// Period = 2 ms
void setup() {
// WGM22/WGM20 all set -> Mode 5, phase correct PWM
TCCR2A = (1<<COM2B1) + (1<<WGM20); // Set OC2A at bottom, clear OC2B at compare match
TCCR2B = (1<<CS20) + (1<<WGM22); // prescaler = 64;
OCR2A = 255;
OCR2B = 50;
DDRH |= (1<<PH6); // PH6 = OC2B = Arduino Pin D9
cli();
TCCR1A = (1 << COM1A1) + (1 << COM1B1); // + (1<<COM1B0) + (1<<WGM10);
TCCR1B = (1 << CS10) + (1 << WGM13);
ICR1 = 65535; //OCR1A = 1000;
OCR1A = 500; //OCR1B = 500;
OCR1B = 100;
DDRB |= (1 << PB6);
DDRB |= (1 << PB5);
sei();
/*
cli(); // Interrupts ausschalten
TCCR1A = 0; // Reset
TCCR1B = 0; // Reset
TIMSK1 = 0; // Reset
TCNT1 = 0; // Start 0
ICR1 = 1000; // TOP
OCR1A = 250; // Duty Cycle
TCCR1A = (1<<COM1A1); // nicht invertiert
TCCR1B = (1<<WGM13) | (1<<CS10); // Prescaler 1
DDRB |= (1<<PB6);
DDRB |= (1<<PB5);
sei(); // Interrupts einschalten
*/
}
void loop() {
// do something else
}