Hola a todos,
Es posible realizar una funcion PWM para controlar el brillo de un led.
pero ese brillo depende del estado de otras funciones ( un duty para funcion X, otro duty para funcion Y)... es decir, intento correr un pwm aislado ( como si fuera un hilo) para identificar en que proceso esta el programa.
hay mucho ejemplos en la red pwm, pero todos corren en el while principal... lo cual no me agrada mucho porque en algun momento el pwm no va estar funcionando
¿No sé, será que la única forma es con un RTOS?
Estos es lo que estoy usando
#int_TIMER2
void TIMER2_isr(void)
{
data=data+5;
if(data==255){data=0;}
set_pwm3_duty(data);
}
void main() {
setup_timer_2(T2_DIV_BY_16,170,1);
setup_ccp3(CCP_PWM); // Configure CCP3 as a PWM
enable_interrupts(GLOBAL); // Habilitación global de interrupciones
enable_interrupts(INT_TIMER2); // Habilitación interrupción TIMER2
}