Re: [問題] 請問如何設計一個鬧鐘程式?
看板C_and_CPP (C/C++)作者softwind (software everywhere)時間15年前 (2010/09/15 00:58)推噓8(8推 0噓 30→)留言38則, 6人參與討論串3/3 (看更多)
※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 請教各位我這問題分成兩個平台好了
: PC 和 手機
sorry PC 沒摸過
: 2. 手機 (wince)
: 因為有耗電的考量....
: 所以上面的暴力法一定不能用吧?
: 且我程式會沉入背景作業
: 或是手機進入suspend.....甚至關機
: 那可能又要分三個情況了
: (1) 背景作業
: 大概是用什麼演算法再計算時間到了沒嗎?
: (2) Suspend
: 如果suspend, 為了不耗電 我應該沒辦法做啥事情
: 所以應該改用什麼方法去做呢?
: (3) 關機
: 如果是關機 又存在鬧鐘功能的話
: 應該不是AP這層有辦法能夠控管的
: 那是哪一端在處理這件事~而我AP是如何跟那層溝通(例如設定時間, 撥哪個音樂)
: 以上我想了許久但沒個好想法
: 請有經驗的版友給點指教
: 感謝
不需要想法 做就對了 我家平台可以起timer, 雖然 AP層可以起很多個timer,
實際上 對應到硬體 都只有一個timer,
timeout後 再起最近一個會timeout的時間就好了
hardware timer數量 要看你的平台而定
如果你有solution可以挖看看source code,
以前 2G用TI 現在3G 幾乎都是 qualcomm的天下
有spec查spec, 沒有spec看 tm咚咚.c 之類的檔名
background和suspend對於手機來說 應該沒有差...
畫面暗掉 != 硬體(CPU or Timer)休眠...
就算是畫面暗掉 鍵盤鎖住 你的手機還是需要一直和基地台keep alive
關機timer嘛 我相信 有其他版友可以提供更好的方法
不過 最簡單的管理就是
hardcode寫一個白名單 當系統處於關機的狀態 哪個不長眼的AP
要是起一個timer timeout了 卻不在白名單中 直接讓手機當機 抓出來鞭就好了
這樣勉強可以做power consumption管理
你的問題主要是 手機(含嵌入式系統) 的timer
真有興趣 進相關產業就可以看到了...
至於實作... IC設計你又看不到
至於 OS scheduler和timeout interrupt 反正買了 code就到了
看是可以看 改... 那是不可能的 XD
補個 XYZ
timer/interrupt, power consumption 真的是 嵌入式的大罩門
像 Intel 技術一定很強 但是搞embedded 感覺就是輸ARM一段距離
這裡面應該沒有任何設計細節吧
HR請不要人肉我...
想要自己來 請看這邊
http://www.csie.ntu.edu.tw/~d4526011/my_book_copy/CHAP1.4.htm
這樣說好了 板子上除了CPU,RAM,ROM之外 還有一個小timer
這個小timer就想成是 石英振盪器好了 只要有電 他就會跳
假設你給他電壓剛好可以做到 每秒跳一下 (一個pulse)
你把這個腳位接到 中斷控制器中 如果該腳位的address是指向你的排程器
那麼 不就每秒 你可以run一次你的排程器 作所有task的管控
詳細的介紹請查 Programmable Interrupt Controller
http://en.wikipedia.org/wiki/Programmable_Interrupt_Controller
只要你的手機電池 不拔下 他就需要保持最基本的 功率消耗
其中一個就是那個小timer,
不信 你設定一個10分鐘後的鬧鐘 然後拔電池
如果10分鐘後 手機還是叫了... ... ...
那就趕快逃跑吧...
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.116.31
推
09/15 01:02, , 1F
09/15 01:02, 1F
→
09/15 01:03, , 2F
09/15 01:03, 2F
→
09/15 01:03, , 3F
09/15 01:03, 3F
→
09/15 01:05, , 4F
09/15 01:05, 4F
→
09/15 01:06, , 5F
09/15 01:06, 5F
推
09/15 01:06, , 6F
09/15 01:06, 6F
→
09/15 01:08, , 7F
09/15 01:08, 7F
→
09/15 01:09, , 8F
09/15 01:09, 8F
※ 編輯: softwind 來自: 118.166.116.31 (09/15 01:10)
→
09/15 01:10, , 9F
09/15 01:10, 9F
→
09/15 01:10, , 10F
09/15 01:10, 10F
→
09/15 01:11, , 11F
09/15 01:11, 11F
→
09/15 01:12, , 12F
09/15 01:12, 12F
→
09/15 01:12, , 13F
09/15 01:12, 13F
→
09/15 01:13, , 14F
09/15 01:13, 14F
→
09/15 01:14, , 15F
09/15 01:14, 15F
→
09/15 01:14, , 16F
09/15 01:14, 16F
推
09/15 01:17, , 17F
09/15 01:17, 17F
→
09/15 01:17, , 18F
09/15 01:17, 18F
※ 編輯: softwind 來自: 118.166.116.31 (09/15 01:29)
推
09/15 21:10, , 19F
09/15 21:10, 19F
→
09/15 21:12, , 20F
09/15 21:12, 20F
→
09/15 21:13, , 21F
09/15 21:13, 21F
→
09/16 12:51, , 22F
09/16 12:51, 22F
→
09/16 12:51, , 23F
09/16 12:51, 23F
→
09/16 12:57, , 24F
09/16 12:57, 24F
推
09/16 13:02, , 25F
09/16 13:02, 25F
推
09/16 13:02, , 26F
09/16 13:02, 26F
→
09/16 13:02, , 27F
09/16 13:02, 27F
推
09/16 15:25, , 28F
09/16 15:25, 28F
推
09/16 15:29, , 29F
09/16 15:29, 29F
→
09/16 15:30, , 30F
09/16 15:30, 30F
→
09/16 23:55, , 31F
09/16 23:55, 31F
→
09/16 23:56, , 32F
09/16 23:56, 32F
→
09/17 00:04, , 33F
09/17 00:04, 33F
→
09/17 00:04, , 34F
09/17 00:04, 34F
→
09/17 00:05, , 35F
09/17 00:05, 35F
→
09/17 00:05, , 36F
09/17 00:05, 36F
→
09/17 00:06, , 37F
09/17 00:06, 37F
→
09/17 00:08, , 38F
09/17 00:08, 38F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章