Android如何定时开机代码,Android定时开机的流程详解
一、原理
開(關(guān))機(jī)原理,以低電平為例:
1、平時(shí),電平為高
2、按下按鍵,電平為低;
3、電源管理(硬件PM)部分對(duì)低電平處理:低電平一直持續(xù)n秒,認(rèn)為是開(關(guān))機(jī)信號(hào)
4、進(jìn)行開(關(guān))機(jī)
要實(shí)現(xiàn)定時(shí)開(關(guān))機(jī),只需要定時(shí)時(shí)間到來后產(chǎn)生硬件PM需要的開機(jī)信號(hào)(持續(xù)n秒的低電平)即可。既要定時(shí),又要產(chǎn)生電平信號(hào),在設(shè)備中由RTC這個(gè)部件完成。
二、實(shí)現(xiàn)流程
RTC是設(shè)備上用來產(chǎn)生精確時(shí)鐘的部件,有自己獨(dú)立的供電源——通常就是常說的紐扣電池。所以在系統(tǒng)掉電后,RTC部件依然可以精確的運(yùn)行。
RTC功能:
1、實(shí)時(shí)的時(shí)鐘/日歷功能
2、Alarm功能
3、可編程的頻率,用來輸出波形
綜上:這是一個(gè)根具體硬件相關(guān)的功能,需要硬件具有Alarm并可以在Alarm時(shí)產(chǎn)生持續(xù)的低電平。
以RTC芯片ISL1208為例,閱讀其datasheet,我們發(fā)現(xiàn):
"Once this match occurs, the ALM bit is set to “1” and the IRQ output will be pulled low and will remain low until the ALM bit is reset. "
“一旦Alarm時(shí)間到來,IRQ(Pin 7)會(huì)被拉低,即一直輸出低電平,直到寄存器的ALM位被重置。”
所以,對(duì)于ISL1208,我們只要提供設(shè)置Alarm的接口,并在適當(dāng)?shù)臅r(shí)候清除中斷標(biāo)志即可。
補(bǔ)充:
1、RTC and alarm times will be in UTC, by preference
2、系統(tǒng)在啟動(dòng)過程中會(huì)讀取RTC時(shí)間作為時(shí)間基準(zhǔn),之后,系統(tǒng)自己維護(hù)一套時(shí)間,即之后和時(shí)間相關(guān)的絕大部分操作并不是直接讀取RTC芯片的寄存器獲取結(jié)果。
總結(jié)
以上是生活随笔為你收集整理的Android如何定时开机代码,Android定时开机的流程详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机定时关机教程,1分钟学会 如何让电
- 下一篇: 图像阈值类