rogs3210
驱动牛犊
驱动牛犊
  • 注册日期2009-05-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2251回复:5

请教OEMPowerOff问题

楼主#
更多 发布于:2009-08-25 17:56
请问wince 里调用完OEMPowerOff之后,会执行哪个函数?
是在唤醒OEMPowerOff之后,哪位大侠知道?
谢谢
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-25 20:37
没有查过,不知道微软公开这些代码没有,但我们不需要知道这些,只要这个函数能保存及恢复好待机时的状态就好了。
学海无涯
rogs3210
驱动牛犊
驱动牛犊
  • 注册日期2009-05-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-08-26 09:01
我的机子唤醒后执行OEMPowerOff里面最后一条语句后就起不来了
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-08-26 20:22
能走到最后一句话说明已经恢复好了啊,

是不是在这个函数里把中断打开了?中断是不能开的。
学海无涯
rogs3210
驱动牛犊
驱动牛犊
  • 注册日期2009-05-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-08-27 11:24
    CPUPowerOff();

//    while(1); // for batt_flt debugging

    /* Recover Process, Load CPU Regs       */
    CPULoadRegs(CPUBackupRegs);

    /* Interrupt Clear                      */
    s2440IOP->rEINTPEND  = s2440IOP->rEINTPEND;
    s2440LCD->rLCDSRCPND = s2440LCD->rLCDSRCPND;
    s2440LCD->rLCDINTPND = s2440LCD->rLCDINTPND;
    s2440INT->rSUBSRCPND = s2440INT->rSUBSRCPND;
//    s2440INT->rSRCPND    = s2440INT->rSRCPND;
//    s2440INT->rINTPND    = s2440INT->rINTPND;

    NANDInit();

    OEMInitDebugSerial();
   // CPUClearCS8900();    

RETAILMSG(1,(TEXT("-- Exit  OEMPOWER.\r\n")));
以上是唤醒后执行的函数,可以执行到最后一句,难道CPULoadRegs(CPUBackupRegs);这条恢复语句打开了中断?从而失败吗?
奇怪的是我接上USB连电脑上就可以正常唤醒~
rogs3210
驱动牛犊
驱动牛犊
  • 注册日期2009-05-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-08-27 12:04
谢谢你,问题已经解决~~~
但是为什么OEMPowerOff里不能开中断呢?
游客

返回顶部