Estoy atascado en un problema. Como dice el título, estoy tratando de generar 2 señales PWM diferentes en TIMER 0 y TIMER 2, mientras uso la interrupción en TIMER 1 para contar la hora.
Probé varias cosas, pero cada vez que trato de asignar un ciclo de trabajo a OC2B o OC0B, el tiempo se complica.
Aquí está mi código de configuración para TIMER 1 para la interrupción:
void setupTimer1() {
// TIMER 1 for interrupt frequency 25000 Hz:
cli(); // stop interrupts
TCCR1A = 0; // set entire TCCR1A register to 0
TCCR1B = 0; // same for TCCR1B
TCNT1 = 0; // initialize counter value to 0
// set compare match register for 25000 Hz increments
OCR1A = 639; // = 16000000 / (1 * 25000) - 1 (must be <65536)
// turn on CTC mode
TCCR1B |= (1 << WGM12);
// Set CS12, CS11 and CS10 bits for 1 prescaler
TCCR1B |= (0 << CS12) | (0 << CS11) | (1 << CS10);
// enable timer compare interrupt
TIMSK1 |= (1 << OCIE1A);
sei(); // allow interrupts
}
Espero que algunos de ustedes puedan ayudarme a resolver esto.
Gracias.