Hola amigos, estoy medio loco por hacer un control RGB lo más efectivo posible...
Ya hice un control RGB pero por "ticks" es decir. elegí un periodo de 10mS lo dividí por 100 = 100uS
Configuré un timer para que llame a una interrupción cada 100uS (incremento variable "ticks")
Entonces si tenía R=1% G=50% y B=100%
El rojo se apaga en la primera interrupción, le verde en la nro 50 y el azul siempre queda prendido.
Ahora quiero optimizar el soft para no desperdiciar tanto tiempo con interrupciones innecesarias.
La idea es ordenar el de menor a mayor por orden de apagado e ir configurando el timer.
Ejemplo: si tengo R=10 G=40 y B=70
1ro: Enciendo TODOS R G y B
2do: configuro el timer a 10*100uS = 1mS
3ro: cuando me llama la interrupcion apago el ROJO y configuro el timer en (40-10)*100uS = 3mS
4to: cuando me llama la interrupcion apago el Verde...
5to: .... + de lo mismo...
Bueno para hacer esto
1ro: tengo que ordenarlos de menor a mayor y no se como ordenarlo en variables.
2do: tengo que resolver como hacer cuando tengo 2 o 3 colores iguales por ejemplo R0 G0 B50
A ver a quien se le ocurre algo
SALUDOS !!!!!!