am335x LCD背光问题
/****************************************************************
* am335x backlight problem
*
* 本问记录am335x背光问题的解决过程。
*
* Tony Liu, 2016-4-21, Shenzhen
***************************************************************/ .现象
在app中,根据QSlider的变化,调节背光的亮度。变化范围10-。
当QSlider调节到最低时,背光变量。 .问题分析
2.1 查看QSlider的变化,此时的值其实是0,而不是label显示的10。
在串口中输入:
echo > /sys/class/backlight/pwm-backlight/brightness
echo > /sys/class/backlight/pwm-backlight/brightness
发现背光的亮度随着输入的值减小,逐渐变暗。
输入0,却发现背光变亮。
echo > /sys/class/backlight/pwm-backlight/brightness
进一步确定当出入参数为0时有问题。 2.2 驱动代码如下,目前只跟到这里,有时间再跟。
//每次设置pwm都会调用下面的函数
kernel/driver/video/backlight/pwm_bl.c
static int pwm_backlight_update_status(struct backlight_device *bl)
{
struct pwm_bl_data *pb = dev_get_drvdata(&bl->dev);
int brightness = bl->props.brightness;
int max = bl->props.max_brightness; if (bl->props.power != FB_BLANK_UNBLANK)
brightness = ; if (bl->props.fb_blank != FB_BLANK_UNBLANK)
brightness = ; if (pb->notify)
brightness = pb->notify(pb->dev, brightness); if (brightness == ) { //当传入的参数为0时调用,问题就出在这里
pwm_set_duty_ns(pb->pwm, );
pwm_stop(pb->pwm);
} else { //传入参数是1-100时,调用
brightness = pb->lth_brightness +
(brightness * (pb->period - pb->lth_brightness) / max);
pwm_set_period_ns(pb->pwm, pb->period);
pwm_set_duty_ns(pb->pwm, brightness);
pwm_start(pb->pwm);
} if (pb->notify_after)
pb->notify_after(pb->dev, brightness); return ;
} .解决方法:
在QT中进行更改,设置slider的最大值和最小值,并更新到显示的label.
ui->slider->setMaximum();
ui->slider->setMinimum();
//transform int to QString, base 10
ui->label->setText(QString::number(ui->slider->minimum(), ));
ui->label_2->setText(QString::number(ui->slider->maximum(), ));
这样一来,就不会出现QSlider的值是0的情况,传给底层的参数也不会为0。
am335x LCD背光问题的更多相关文章
- [LED]如何配置LCD背光和LED,调试方法
[DESCRIPTION] 如何配置LCD背光和LED,调试方法 [SOLUTION]LCD背光和LED配置文件alps/custom/<proj name>lk/cust_leds.ca ...
- 如何配置LCD背光和LED,调试方法
LCD背光和LED配置文件 alps/custom/<proj name>lk/cust_leds.c alps/custom/<proj name>/kernel/leds/ ...
- 使用IOCTL代码实现LCD背光调节
国内这种代码找不到.于是參考了相关代码后完好例如以下代码,且实现方式通过IOCTL代码实现LCD背光调节的功能. 适合场合为平板电脑或者笔记本.主要还是要靠BIOS支持与否. 编译环境使用:Dev-c ...
- am335x LCD参数更改
/******************************************************************** * am335x LCD参数更改 * * 本文记录am335 ...
- amba H2平台用PWM控制LCD背光
ambarella H2系列Soc的GPIO口能作PWM使用的个数有限(GPIO0-GPIO3),从PRM里GPIO: Function Selection章节可以得到如何配置GPIO为PWM功能. ...
- 十二、使用PWM调整LCD背光亮度
和手机一样,开发板中也带有调整背光亮度的功能. 调整背光亮度依赖于PWM,它通过调节脉冲宽度来控制背光亮度,此方式需要使用PWM驱动.本章将对其进行讲解. 一.用户空间调整背光亮度 一般应用程序可以通 ...
- android 关于LCD背光调节渐变过程引起背光闪烁问题
如果背光渐变过程会引起背光闪烁,可以采取以下任意一种方法修改: 方法1.减少调节级别时间 http://blog.csdn.net/sergeycao 默认的设计在关闭背光时会有灭屏动画,就是 ...
- 通过WMI的方式去设置LCD背光亮度
code例如以下: #include "stdafx.h" #include <objbase.h> #include <windows.h> #inclu ...
- Am335x U-boot LCD简易驱动
参考此文档说明,自行添加相关代码: https://pan.baidu.com/s/1i5gLE89 相关代码: https://pan.baidu.com/s/1qXL8Bne 在文档说明第四步1中 ...
随机推荐
- python标准库介绍——19 mmap 模块详解
==mmap 模块== (2.0 新增) ``mmap`` 模块提供了操作系统内存映射函数的接口, 如 [Example 2-13 #eg-2-13] 所示. 映射区域的行为和字符串对象类似, 但数据 ...
- appium +uiautomator2 遇到 deviceName can't be blank 提示的解决
为了获取android toast ,需要升级selenium 到 3.4.0 和appium 5.0.0-BETA9 到最新版本,并在启动代码前面追加一行代码: capabilities.setCa ...
- spineRuntTime for cocos2dx v3,attack播完后回到idle
spineRuntTime for cocos2dx v3,attack播完后回到idle. _animationNode = spine::SkeletonAnimation::createWith ...
- 怎么使用 ab.exe 测试多个url。 how to use ab.exe test many url
from a commandline in windows: for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q I ...
- mysql特殊语句学习
一.Mysql ON子句和USING子句 Mysql 中联接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name. 当模式设计对联接表的列 ...
- Eclipse中导入Git项目
1.先将项目git到本地 2.导入刚刚git到本地项目 if(如果project带.calsspath .project 文件){ 直接用genaral导入或andorid project导入即可. ...
- 国际化模块 angular-translate 简单方便快捷翻译中英文等多语言环境
很多web服务面对的不仅仅是当地用户,多语言环境不仅能提升逼格,更重要是一种用户体验. angular.js 作为前后端拆分的解决方案之一,当然离不开前端框架处理国际化的问题,angular.js 官 ...
- nc 传输文件
在接收服务器上执行:(123.57.36.227) [root@ ~]# cat /tmp/user.txt hello world [root@ ~]# nc -v -l -p >/tmp/u ...
- Spring Cloud Summary
Spring Cloud Summary https://cloud.spring.io/spring-cloud-static/Finchley.RC1/single/spring-cloud.ht ...
- Jquery 禁用元素的所有属性
jQuery有一个.prop()的方法,可以让你来调整元素的属性. 以下代码显示如何禁用所有按钮: $("button").prop("disabled", t ...