阅读:1362回复:8
系统唤醒的问题。
我有一个电源键,通过下降沿触发中断,按下系统SUSPEND,再按下RESUME。我现在想修改为长按2S响应。长按SUSPEND可以在电源键驱动中实现,在PWR_IST,检测低电平是否持续两秒中,如果没有则continue,如果持续两秒则执行后面的代码将系统SUSPEND。可是RESUME 却有问题,当键按下产生中断后系统立即就唤醒了,哪位大侠指点一下,怎样才可以实现RESUME 也是长按两秒再唤醒系统?
|
|
沙发#
发布于:2007-04-24 19:28
没有外部支持,基本上是不可能的
|
|
板凳#
发布于:2007-04-25 09:30
那么可否这样,系统被唤醒后,先不点亮LCD的背光,不唤醒应用程序,当在两秒之内发现键被释放,则再次SUSPEND系统。哪位高手可以指点一下应该怎么做?
|
|
地板#
发布于:2007-04-27 13:38
也许可以考虑下修改OEMPowerOff中的代码,在CPUPowerOff()后面做处理。
|
|
地下室#
发布于:2007-04-28 07:08
引用第3楼etermis于2007-04-27 13:38发表的“”: 对,这个办法不错,在发生中断时计个时间,CPUPOWEROFF返回以后计个时间,如果两秒之后按键状态没有改变,就继续,否则就继续进入CPUPOWEROFF. |
|
|
5楼#
发布于:2007-04-28 13:40
谢谢两位的指点,我想再问一下,如果先把SD卡的驱动唤醒,但是不点亮LCD 、不唤醒应用程序,这中间如果发现键被释放,则再次SUSPEND系统。不知道是不是可以实现呢?因为我的SD卡的驱动,在唤醒后大约要1秒才能读数据,我想先唤醒SD卡,然后在等2秒唤醒应用程序。
|
|
6楼#
发布于:2007-04-29 20:22
这好像比较麻烦,
不过可以用别的办法达到你目的:系统唤醒以后,应用程序来读SD卡时,直到SD能够工作,正确存取以后再返回就行了. |
|
|
7楼#
发布于:2007-04-30 17:04
可是我用的是第三方的导航程序,不能修改呀。每次SLEEP再唤醒后,程序就提示没有插卡。斑竹大哥,可否有什么好的解决方法
|
|
8楼#
发布于:2007-05-01 20:49
当然,第三方的程序没法改,
但可以修改驱动程序,你把SD的驱动改成BUILTIN的,即这个驱动一直在那,永远都不会退出. 只是卡片拔出后读写不会成功而已.这样,当RESUME以后,系统来读写时在驱动中判断一下,只要卡在就多试一次,一般都能成功. |
|
|