您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在Android中實(shí)現(xiàn)定時(shí)開(kāi)機(jī)功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
一、原理
開(kāi)(關(guān))機(jī)原理,以低電平為例:
1、平時(shí),電平為高
2、按下按鍵,電平為低;
3、電源管理(硬件PM)部分對(duì)低電平處理:低電平一直持續(xù)n秒,認(rèn)為是開(kāi)(關(guān))機(jī)信號(hào)
4、進(jìn)行開(kāi)(關(guān))機(jī)
要實(shí)現(xiàn)定時(shí)開(kāi)(關(guān))機(jī),只需要定時(shí)時(shí)間到來(lái)后產(chǎn)生硬件PM需要的開(kāi)機(jī)信號(hào)(持續(xù)n秒的低電平)即可。既要定時(shí),又要產(chǎn)生電平信號(hào),在設(shè)備中由RTC這個(gè)部件完成。
二、實(shí)現(xiàn)流程
RTC是設(shè)備上用來(lái)產(chǎn)生精確時(shí)鐘的部件,有自己獨(dú)立的供電源——通常就是常說(shuō)的紐扣電池。所以在系統(tǒng)掉電后,RTC部件依然可以精確的運(yùn)行。
RTC功能:
1、實(shí)時(shí)的時(shí)鐘/日歷功能
2、Alarm功能
3、可編程的頻率,用來(lái)輸出波形
綜上:這是一個(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í)間到來(lái),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)過(guò)程中會(huì)讀取RTC時(shí)間作為時(shí)間基準(zhǔn),之后,系統(tǒng)自己維護(hù)一套時(shí)間,即之后和時(shí)間相關(guān)的絕大部分操作并不是直接讀取RTC芯片的寄存器獲取結(jié)果。
上述內(nèi)容就是怎么在Android中實(shí)現(xiàn)定時(shí)開(kāi)機(jī)功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。