LCD背光关闭后,再点屏,屏亮,但此次点击无效,如何做比较好。

Sniper167 2009-07-15 03:41:22
一段时间后,LCD背光自动关闭,此后,如果系统还未进入休眠,点屏,LCD背光自动打开,但需要此次点击无效(比如此次点击的位置刚好在一个button上,不能执行button的回调函数,也就是此次点击除了把背光打开外,其余任何事情都不做)

大家有没有什么好的实现方法?或者MS有啥现成的API没?
...全文
278 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyyun 2009-07-29
  • 打赏
  • 举报
回复
你可以做一个背光状态的标志,每次进入按键除了程序前先判断背光是否是亮,如果亮就进入按键处理,否则,点亮背光,处理背光标志,跳出程序。
这我一直在用的。
leemuxiang 2009-07-28
  • 打赏
  • 举报
回复
这个我们是这样实现的:背光关闭后,启动一个应用程序,就是一个页面,并设置为黑色背景,然后点击时退出这个应用程序即可
shuiyan 2009-07-28
  • 打赏
  • 举报
回复
1. 定义背光关闭事件。
2. 背光关闭被调用时,设置关闭事件。
3. 触摸驱动响应该事件,置位标志。以后若接受到一个有效触摸,就设置背光事件,点亮背光。但这个触摸值不向系统发送。
Sniper167 2009-07-27
  • 打赏
  • 举报
回复
我顶一次
ym_luo 2009-07-25
  • 打赏
  • 举报
回复
驱动中可以实现
xunjingzhpu 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sniper167 的回复:]
引用 17 楼 hzdysymbol 的回复:
2、控制面板中的display里面应该有定时器的吧,定时到后是发送什么指令给背光驱动呢?背光驱动中也是在IOCTL中截获该指令?

本身没有定时器,需要自己去处理

3、点击触摸屏或者键盘,系统是如何出发useractivity事件呢?且该事件触发后,一定要转到on吗?能不能跳到其它状态?
不一定要转到on,无论想转到什么状态都可以,查看PM的Public下面的代码

4、系统电源状态切换时,电源管理器应该会主动去通过IOCTL_PO…


hzdysymbol兄,看到你以前回的一个贴:

问题:控制面板中,display可以设置自动关闭背光时间,如果我设置为1min,请问1min后,系统是如何一步步去关闭背光的?需要底层的背光驱动配合吗?

你说WINCE自身没有那个定时器,需要我们自己处理

这个做法你看如何
在背光驱动创建一个线程,去等待useractivity事件
WaitForSingleObject(g_hEvtUserActive, 背光自动关闭时间))
返回如果超时,则关闭背光,如果等到事件,则打开背光,并进入下一次等待

这个里面的背光关闭时间,还要区分使用电源和使用电池。
假设我在等待的过程中,由使用电源切换到使用电池,背光驱动如何得知?并如何处理呢?
难道要WaitForMultipleObjects不成?
[/Quote]
确实需要驱动,你的思路基本正确,具体可以参考2440的bsp的背光驱动
Sniper167 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 hzdysymbol 的回复:]
2、控制面板中的display里面应该有定时器的吧,定时到后是发送什么指令给背光驱动呢?背光驱动中也是在IOCTL中截获该指令?

本身没有定时器,需要自己去处理

3、点击触摸屏或者键盘,系统是如何出发useractivity事件呢?且该事件触发后,一定要转到on吗?能不能跳到其它状态?
不一定要转到on,无论想转到什么状态都可以,查看PM的Public下面的代码

4、系统电源状态切换时,电源管理器应该会主动去通过IOCTL_PO…
[/Quote]

hzdysymbol兄,看到你以前回的一个贴:

问题:控制面板中,display可以设置自动关闭背光时间,如果我设置为1min,请问1min后,系统是如何一步步去关闭背光的?需要底层的背光驱动配合吗?

你说WINCE自身没有那个定时器,需要我们自己处理

这个做法你看如何
在背光驱动创建一个线程,去等待useractivity事件
WaitForSingleObject(g_hEvtUserActive, 背光自动关闭时间))
返回如果超时,则关闭背光,如果等到事件,则打开背光,并进入下一次等待

这个里面的背光关闭时间,还要区分使用电源和使用电池。
假设我在等待的过程中,由使用电源切换到使用电池,背光驱动如何得知?并如何处理呢?
难道要WaitForMultipleObjects不成?
hzdysymbol 2009-07-15
  • 打赏
  • 举报
回复
最方便的方法是在这种状态下并不把背光完全关掉,留一点点亮,刚好可以看到内容
如果LCD关掉的时候再把背光和Touch一起关掉
当然在Touch的驱动中完全可以实现LZ的要求
NewJerryj 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xunjingzhpu 的回复:]
可以考虑从触摸坐标返回值入手,不知道触摸取坐标值,亮灯顺序,以下我个人的想法

1 如果取坐标值在亮灯前,可以在触摸驱动的中判断当前背光灯状态,如果是灭在DdsiTouchPanelGetPoint中返回一个虚假坐标,保证这个坐标不响应任何操作

2 如果取坐标值在亮灯后,亮灯后关闭触摸的adc采样,定时一小段时间再打开adc。
[/Quote]

驱动的做法,不错。
上层应用也可以实现: 背光关闭后上层主应用系统可以及时知道,设置一个标志,在去响应LBUTTONDOWN时即可根据这个标志不作处理。当然这是建立在只有一个主应用系统,如果有多个应用程序就比较麻烦了。
xunjingzhpu 2009-07-15
  • 打赏
  • 举报
回复
可以考虑从触摸坐标返回值入手,不知道触摸取坐标值,亮灯顺序,以下我个人的想法

1 如果取坐标值在亮灯前,可以在触摸驱动的中判断当前背光灯状态,如果是灭在DdsiTouchPanelGetPoint中返回一个虚假坐标,保证这个坐标不响应任何操作

2 如果取坐标值在亮灯后,亮灯后关闭触摸的adc采样,定时一小段时间再打开adc。
y_man18 2009-07-15
  • 打赏
  • 举报
回复
这么做有什么特别的意义吗?难道是想实现如键盘锁一样的功能?好奇.....
happypay 2009-07-15
  • 打赏
  • 举报
回复
肯定是有的,我们项目组以前实现了

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧