//========================================================================
//TITLE:
// 软开关设计漫谈_软件篇
//AUTHOR:
// norains
//DATE:
// Sunday 19-may-2009
//Environment:
// WINDOWS CE 5.0
//========================================================================
相对于硬件来说,软开关的软件代码更为简单,只需要检测DETECT_KEY即可。该功能的实现主要是通过GPIO,而wince并没有对GPIO做上层定义,并且每款CPU的GPIO的操作方式又各自不同,所以本文无法给出一个完整可用的代码,只能用伪代码作为示例讲解。虽然是伪代码,但对于了解其流程还是有一定的意义。
void Power_On()
{
...
//设置GPIO_SHDN为high
SetGPIO_HIGH(GPIO_SHDN);
...
}
DWORD PWR_IntrThread(PVOID pParam)
{
....
//使能中断
EnableInterrupt();
//初始化中断
InterruptInitialize(btnSysIntr, hNotifyEvent, 0, 0)
while(TRUE)
{
//等待中断事件
dwRet = WaitForSingleObject(hNotifyEvent, INFINITE);
if(dwRet == WAIT_OBJECT_0)
{
//中断处理完毕,让中断再次进入处理
InterruptDone(btnSysIntr);
//再次等待中断处理事件
dwRet = WaitForSingleObject(hNotifyEvent, 1000);
if(dwRet == WAIT_TIMEOUT)
{
//当其位WAIT_TIMEOUT时,意味着为长按,进入poweroff函数
EnterPowerOff();
}
}
}
....
}
void EnterPowerOff()
{
...
while(TRUE)
{
if(IsGPIOHigh(GPIO_DETECT_KEY) != FALSE)
{
//S1已经松开,跳出循环
break;
}
}
//关闭系统电源
SetGPIO_LOW(GPIO_SHDN);
...
}
这里唯一需要注意的是EnterPowerOff函数,在这里必须要检测S1是否已经松开。如果还没有松开S1就将GPIO_SHDN置为LOW,因为S1端还有VDD33D电压输入到PWR_ON端,所以系统还是无法关闭。
分享到:
相关推荐
Django渗透测试与代码安全漫谈_一_1
玉和玉器及价值漫谈_七_ .pdf
嵌入式Linux技术漫谈_嵌入式系统_工业自动化控制_169
现代企业管理漫谈_1.ppt
程序规划方法漫谈_连载_作者程序匠人[归纳].pdf
天文漫谈_2017年10月考试题目和答案.doc
PTN光传输设备运行-光纤传输网及发展漫谈_课件.ppt
先说“卷积有什么用”这个问题。(有人抢答,“卷积”是为了学习“信号与系统”这门课的后续章节而存在的。我大吼一声,把他拖出去枪毙!)
电子书下载 高清 带索引书签目录_徐慧洋,白杰,卢宏旺编著_北京:人民邮电出版社 完全版本
敏捷开发之Scrum漫谈,文档结合实际的图片,描述了工作实际场景,让人根据容易理解和学习敏捷开发的思想
软件工程思想漫谈>>讲述软件开发和做程序员的道理,思想深刻,视角独特,是本好书。
本书《基础篇》以面向对象理论为指导,从.NET平台的各项技术中精选出一些亮点进行深入的剖析和讲解,并展示出它们在实际开发中的具体应用实例,不仅让读者能“知其然”,而且能“知其所以然”。 本书适合于拥有一到...
漫谈设计模式书中代码,以及各章节的示例代码
《.NET 4.0面向对象编程漫谈》资源包,包含《应用篇》的所有源码,全书目录,前言和序等PDF文档。 共3个分卷RAR压缩包,这是第1部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
《.NET 4.0面向对象编程漫谈》资源包,包含《应用篇》的所有源码,全书目录,前言和序等PDF文档。 共3个分卷RAR压缩包,这是第2部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
《.NET 4.0面向对象编程漫谈》资源包,包含《应用篇》的所有源码,全书目录,前言和序等PDF文档。 共3个分卷RAR压缩包,这是第3部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
《.NET 4.0面向对象编程漫谈》资源包,包含《基础篇》的所有源码,全书目录,前言和序等PDF文档。 共6个分卷RAR压缩包,这是第3部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
《.NET 4.0面向对象编程漫谈》资源包,包含《基础篇》的所有源码,全书目录,前言和序等PDF文档。 共6个分卷RAR压缩包,这是第1部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
《.NET 4.0面向对象编程漫谈》资源包,包含《基础篇》的所有源码,全书目录,前言和序等PDF文档。 共6个分卷RAR压缩包,这是第5部分。 获取更多资源及与作者交流,请访问金旭亮个人博客: ...
net 4.0面向对象编程漫谈 基础篇