Can I get 108Khz 10% PWM out of an arduino Nano? Trying but I am not getting any output from pin 9. Tried pin 11 too
Code:
void setup() {
pinMode(9, OUTPUT); // Critical: Must set pin as OUTPUT
// Reset Timer1 registers (safely override Arduino defaults)
TCCR1A = 0;
TCCR1B = 0;
TIMSK1 = 0; // Disable Timer1 interrupts
// Configure Timer1 for Fast PWM, TOP = ICR1
TCCR1A = _BV(COM1A1) | _BV(WGM11); // Clear OC1A on compare, Fast PWM
TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // No prescaler, Fast PWM
ICR1 = 147; // TOP for 108 kHz (16MHz / (147 + 1))
OCR1A = 15; // 10% duty (15/147 ≈ 10%)
}
void loop() {}