本文分享Android定时开机及其实现过程。对这个知识点感兴趣的朋友可以借鉴一下。
一.原则
开机(关机)原理,以低电平为例:
1.平时水平高。
2.按键,电平低;
3.电源管理(硬件PM)部分处理低电平:低电平持续N秒,被认为是开(关)机信号。
4.打开(关闭)机器。
要定时开机(关机),只需要在定时到达后,产生硬件PM所需的开机信号(持续N秒的低电平)。时序和电平信号的产生都由设备中的RTC完成。
二、实现过程
RTC是一种用于产生精确时钟的器件。它有自己独立的电源——,也就是通常所说的纽扣电池。因此,在系统断电后,RTC组件仍然可以准确运行。
RTC功能:
1.实时时钟/日历功能
2.报警功能
3.可编程频率,用于输出波形。
综上所述,这是一个特定的硬件相关的功能,要求硬件有报警,并能在报警发生时产生持续的低电平。
以RTC芯片ISL1208为例,阅读其数据手册,我们发现:
一旦出现这种匹配,ALM位将被置为“1”,IRQ输出将被拉低并保持低电平,直到ALM位复位。
“一旦报警时间到来,IRQ(引脚7)将被拉低,即低电平将一直输出,直到寄存器的ALM位复位。”
因此,对于ISL1208,我们只需要提供一个接口来设置报警,并在适当的时候清除中断标志。
补充:
1、RTC和闹铃时间将优先采用UTC
2.启动期间,系统将读取RTC时间作为时间基准。之后系统会自己维护一套时间,也就是后续大部分与时间相关的操作都不会直接读取RTC芯片的寄存器来获得结果。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。