现在正写LED灯饰中的调光程序,灯饰中的LED是三种R,G,B组成,R,G,B不同值可组成不同颜色,并通过调光功能进行调节颜色亮度,如:R=0FFH,G=0FFH,B=0FFH,得到白色光,并可通过调光值DIM=0~0FFH进行调节亮度; RGB的值是通过PWM输出给LED.
现在问题:当R值为0Fh,G=0FFH,B=0H时, 得到橙色光, 怎样让DIM调光值从0~0FFH调节时,橙色从暗到亮的变化, 我现在的想法是这样处理: R X DIM/255 = R调光后的值, G X DIM/255 = G调光后的值, 如:127 X 10/255=5, 可是当RGB值为很小时,这种算法就不行了,如:10 X10/255=0.4, 0.4是没法给PWM的, PWM值只能为0~255, 不知各位有没有好方法。 |