void init_port();
void init_pwm();
void setup() {
init_port();
init_pwm();
}
void loop() {
// Main loop code goes here
}
void init_port() {
DDRD |= (1 << PD5); // Set PD5 (OC1A) as an output
}
void init_pwm() {
TCCR1A |= (1 << WGM10); // Set WGM10 for 8-bit Fast PWM
TCCR1A |= (1 << COM1A1); // Clear OC1A on compare match, set at BOTTOM
TCCR1B |= (1 << WGM12); // Complete Fast PWM mode configuration (WGM12)
OCR1A = 127; // 50% duty cycle (127/255)
TCCR1B |= (1 << CS11); // Set prescaler to 8 for moderate PWM frequency
}