您的位置:首页 > 其它

s5p4418 PWM亮度调节修改

2016-10-28 14:59 176 查看
PWM程序修改pwm.c修改函数

pwm.c 在文件中的位置android/kernel/arch/arm/mach-s5p4418/soc

这里根据界面的亮度条,调节亮度,原来范围太窄,这里将亮度范围调宽。修改相应的数值参数即可。

#define PWM_COMPARE(c, d) (((10 > c ? c * 10 : c) * d) / (100 * (10 > c ? 10 : 1)))

unsigned long nxp_soc_pwm_set_frequency(int ch, unsigned int request, unsigned int duty)

{

if (clock) {

pwm->request = request;

pwm->rate = clock;

pwm->duty = duty;

pwm->pwm_hz = pwmhz;

pwm->counter = clock/request;

pr_debug("pwm->request = %d,duty = %d, pwm->counter = %ld \n",pwm->request,duty,pwm->counter);

pwm->compare = PWM_COMPARE(pwm->counter, duty) ? : 1;

pwm->counter = pwm->counter + 100;

pwm_set_device(pwm);

}

修改项说明,添加程序pwm->counter = pwm->counter + 100;

在显示亮度条中,显示宽度较窄,这时可以调节显示亮度的范围,将程序中截至的点的数值改变。

开始修改pwm->compare的值,修改后发现亮度的到最亮前有一段时间的数值是负数,亮度就不再变化,电流数值不变。

这时,修改pwm->counter数值,将亮度范围变宽,开始调节的时候,将数值放在了pwm->compare = PWM_COMPARE(pwm->counter, duty) ? : 1;赋值前面,发现没有效果,

后来,将修改放在了后面,这样,就不影响pwm->compare的数值变化,也将范围拉宽了,这样在亮度条的显示中就不会提前变暗。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  s5p4418 pwm 背光亮度