关机提示

目怜心   2009-6-26 17:39 楼主
各位大侠,我们是通过硬件直接关机的,想在关机前通知应用程序,怎么做呢?提示在BSP包中写

回复评论 (14)

SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE);
但我感觉没效果,它不会关所有应用
点赞  2009-6-26 17:53
硬件关机不是通过控制电源芯片就可以了吗,用一个GPIO口控制电源芯片应该行的。难道关机前SETEVENT?   
点赞  2009-6-26 18:01
就是想要在关机前发个信息给应用程序。
点赞  2009-6-29 09:15
如何做到在关机前给应用程序一个提示呢?
点赞  2009-6-29 09:31
引用: 引用 4 楼 jeanszu 的回复:
如何做到在关机前给应用程序一个提示呢?

关机信号,应该是通过按键,产生中断吧, 此时你发个按键消息到应用不就可以了吗
点赞  2009-6-29 09:39
引用: 引用 3 楼 jeanszu 的回复:
就是想要在关机前发个信息给应用程序。


是的,你是硬件关机,关机提示是软件来做的
所以需要发个消息给应用,由应用显示提示界面,然后关机
点赞  2009-6-29 10:22
发送什么信息呢?各位大侠能不能说的清楚一点?
点赞  2009-6-29 11:22
  你的硬件设计要支持才行。比如,Linear公司有一种芯片,称为按钮控制器,在按钮关机动作时,会先发出一个中断一段时间给CPU(大约1秒),到了时间才关机。
点赞  2009-6-29 11:53


在此硬件关机的io管脚只能作为判断关机的条件,不可作为关机的开关,否则cpu立即停止,用软件检测此条件,软件关机。

比如硬件设计某一io为高时(应用程序认为要执行关机操作),然后在应用中timer不停检查此io,确定是否关机,软件实现关机。
点赞  2009-6-29 13:48
需要两个event
一个是在检测到关机按键时,发给应用程序的event1.
另一个是在应用程序处理完保存操作后,发给系统的event2.
不过前提是系统有一个线程专门检测event2,然后关机. 
点赞  2009-6-29 16:24
关注
点赞  2009-6-30 09:20
硬件上用两个IO口,一个作Power按键检测,另一个作电源IC关电控制,驱动中检测到Power按键按下,发送消息(这个消息可以自己定义)给应用程序,应用程序干完自己要干的事情(如显示Logo,保存用户信息等),操作电源IC关电控制IO口关电即可。
点赞  2009-6-30 09:57
问题已经解决,就是在检测关机IO口的中断程序中发自定义消息给应用程序,待其完成任务后关机。
点赞  2009-6-30 15:53
谢谢各位大侠。。。
点赞  2009-6-30 15:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复