请教 50D 如何设置自动开机?
时间:10-02
整理:3721RD
点击:
请教下,在50D上如何设置到时自动开机?
我设置了一个开机闹铃,然后就立即关机了,过一分钟在自动开机。
实际上,过了一分钟并没有开机,我随便按下按键,屏幕会亮,按键也会亮,但没能开机,再按开机键也开不了机,只能重新拔电池,再开机。
请各位帮看下是不是代码写的不对,还是开机后需要再做一定的处理?
void mlocate_powerdown_byhours(const kal_int32 hours)
{
MYTIME currTime, almTime;
MYTIME incTime;
DTGetRTCTime(&currTime);
mEMSet(&incTime, 0, sizeof(MYTIME));
#ifdef __mtk_TARGET__
//incTime.nHour = hours;
#else
incTime.nMin = 1;
#endif
incTime.nMin = 1;
IncrementTime(currTime, incTime, &almTime);
almTime = srv_reminder_calc_time(&almTime, (srv_reminder_repeat_enum)SRV_REMINDER_REPEAT_ONCE, 0);
srv_reminder_set(SRV_REMINDER_TYPE_SPON, &almTime, 0);
srv_shutdown_normal_start(MOD_MMI);
}
我设置了一个开机闹铃,然后就立即关机了,过一分钟在自动开机。
实际上,过了一分钟并没有开机,我随便按下按键,屏幕会亮,按键也会亮,但没能开机,再按开机键也开不了机,只能重新拔电池,再开机。
请各位帮看下是不是代码写的不对,还是开机后需要再做一定的处理?
void mlocate_powerdown_byhours(const kal_int32 hours)
{
MYTIME currTime, almTime;
MYTIME incTime;
DTGetRTCTime(&currTime);
mEMSet(&incTime, 0, sizeof(MYTIME));
#ifdef __mtk_TARGET__
//incTime.nHour = hours;
#else
incTime.nMin = 1;
#endif
incTime.nMin = 1;
IncrementTime(currTime, incTime, &almTime);
almTime = srv_reminder_calc_time(&almTime, (srv_reminder_repeat_enum)SRV_REMINDER_REPEAT_ONCE, 0);
srv_reminder_set(SRV_REMINDER_TYPE_SPON, &almTime, 0);
srv_shutdown_normal_start(MOD_MMI);
}
这个具体不知道,你可以参考MTK设置里面的自动开关机设置,仿照他那个写,应该很简单的,不会导致开不了机。
是不是还得在mmitask里面处理下?
经高人指点 搞定了。
没用 SRV_REMINDER_TYPE_SPON 这个类型,直接用普通的alarm,
然后开机回调那,直接调用 srv_reminder_util_send_poweron,就可以了。
估计是50D还不完善。
的
来自 张晨 的腾讯微博