wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
阅读:1362回复:8

系统唤醒的问题。

楼主#
更多 发布于:2007-04-24 15:57
  我有一个电源键,通过下降沿触发中断,按下系统SUSPEND,再按下RESUME。我现在想修改为长按2S响应。长按SUSPEND可以在电源键驱动中实现,在PWR_IST,检测低电平是否持续两秒中,如果没有则continue,如果持续两秒则执行后面的代码将系统SUSPEND。可是RESUME 却有问题,当键按下产生中断后系统立即就唤醒了,哪位大侠指点一下,怎样才可以实现RESUME 也是长按两秒再唤醒系统?
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-24 19:28
没有外部支持,基本上是不可能的
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-04-25 09:30
那么可否这样,系统被唤醒后,先不点亮LCD的背光,不唤醒应用程序,当在两秒之内发现键被释放,则再次SUSPEND系统。哪位高手可以指点一下应该怎么做?
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-27 13:38
也许可以考虑下修改OEMPowerOff中的代码,在CPUPowerOff()后面做处理。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-04-28 07:08
引用第3楼etermis2007-04-27 13:38发表的“”:
也许可以考虑下修改OEMPowerOff中的代码,在CPUPowerOff()后面做处理。



对,这个办法不错,在发生中断时计个时间,CPUPOWEROFF返回以后计个时间,如果两秒之后按键状态没有改变,就继续,否则就继续进入CPUPOWEROFF.
学海无涯
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-04-28 13:40
谢谢两位的指点,我想再问一下,如果先把SD卡的驱动唤醒,但是不点亮LCD 、不唤醒应用程序,这中间如果发现键被释放,则再次SUSPEND系统。不知道是不是可以实现呢?因为我的SD卡的驱动,在唤醒后大约要1秒才能读数据,我想先唤醒SD卡,然后在等2秒唤醒应用程序。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-04-29 20:22
这好像比较麻烦,

不过可以用别的办法达到你目的:系统唤醒以后,应用程序来读SD卡时,直到SD能够工作,正确存取以后再返回就行了.
学海无涯
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-04-30 17:04
可是我用的是第三方的导航程序,不能修改呀。每次SLEEP再唤醒后,程序就提示没有插卡。斑竹大哥,可否有什么好的解决方法
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-01 20:49
当然,第三方的程序没法改,
但可以修改驱动程序,你把SD的驱动改成BUILTIN的,即这个驱动一直在那,永远都不会退出.
只是卡片拔出后读写不会成功而已.这样,当RESUME以后,系统来读写时在驱动中判断一下,只要卡在就多试一次,一般都能成功.
学海无涯
游客

返回顶部