首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince中怎么定时重启?

2012-05-24 
wince中如何定时重启??各位大侠,我想让系统在每天的某个时间重启,环境是wince。不知道如何实现??[解决办法]

wince中如何定时重启??
各位大侠,我想让系统在每天的某个时间重启,环境是wince。不知道如何实现??

[解决办法]
定时器——》控制一个GPIO——》控制 处理器的硬件复位开关通断===success
[解决办法]
方法有很多种:
1.楼上所说的通过IO口复位,
2.软件复位,
3.通过别的控制器,例如外加一个单片机,通过发送一条命令让单片机给wince处理器复位,我们很多地方都是这么做的。
[解决办法]

探讨
感谢回复,能不能说得详细点??
最好是软件复位的方法??

[解决办法]
#ifndef POWER_STATE_RESET
#define POWER_STATE_RESET DWORD(0x00800000)
#endif

BOOL WINAPI RebootSystem()
{
//return KernelIoControl(IOCTL_HAL_REBOOT,NULL, 0, NULL, 0, NULL);
HINSTANCE hModule = LoadLibrary(TEXT("Coredll.dll"));
SetSystemPowerStateFunction f = (SetSystemPowerStateFunction)::GetProcAddress(hModule, TEXT("SetSystemPowerState"));
f(NULL, POWER_STATE_RESET, 0);
::FreeLibrary(hModule);
return TRUE;
}
[解决办法]
这个问题需要系统的支持,也就是说看你的系统是如何设计的。一般要实现系统关闭之后的记忆功能,往往不单纯是使用ARM系统,它外部还用MCU系统。MCU系统负责历史记忆和定时,并且负责与外围的通信。现在的产品一般都会有一个MCU外围。如果没有MCU外围,是很难实现让系统在每天的某一个时间启动的。

热点排行