Re: [問題] 請問如何設計一個鬧鐘程式?

看板C_and_CPP (C/C++)作者 (tylpk)時間15年前 (2010/09/14 21:08), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《QQ29 (我愛阿蓉)》之銘言: : 2. 手機 (wince) : 因為有耗電的考量.... : 所以上面的暴力法一定不能用吧? : 且我程式會沉入背景作業 : 或是手機進入suspend.....甚至關機 : 那可能又要分三個情況了 : (1) 背景作業 : 大概是用什麼演算法再計算時間到了沒嗎? : (2) Suspend : 如果suspend, 為了不耗電 我應該沒辦法做啥事情 : 所以應該改用什麼方法去做呢? : (3) 關機 : 如果是關機 又存在鬧鐘功能的話 : 應該不是AP這層有辦法能夠控管的 : 那是哪一端在處理這件事~而我AP是如何跟那層溝通(例如設定時間, 撥哪個音樂) 我已經一年多沒碰嵌入式了, 就印象中回答一下。 以 Windows Mobile 6.x 來說好了。 正常嵌入式應該都是利用中斷來處理這一類的問題, 利用中斷來通知上層軟體時間到了。 由上到下,約略可分四層(有些層不是那麼明確,會有重疊): Application Layer Kernel Layer OAL + Driver Layer Hardware Layer Application 使用 OS 提供的 function(Win32 API),來使用 Timer(WM_TIME), Kernel 負責處理 Application 的呼叫,並在時間到時通知 Application, OAL 是微軟定義好的 Layer,會負責中介處理跟硬體有關的部份,比如 RTC, Hardware 則是實際在控制硬體的部份(讀寫硬體的暫存器)。 Hardware 設定好暫存器後,便能設定 CPU 什麼時候會觸發中斷,等到觸發後, 這時便會一層一層的 response 回去。 至於關機能不能有鬧鐘功能? 要看 CPU 支不支援(可能是硬體或是BSP都要 support), 至少 7201A 是不支援的。 大概是這樣吧,只是很簡單的說明。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.241.56

09/14 22:03, , 1F
謝謝 雖然是敘述性但還是很多觀念沒有XD
09/14 22:03, 1F

09/14 22:03, , 2F
請問原波是寫driver layer的嗎?
09/14 22:03, 2F

09/15 21:04, , 3F
原本是寫driver,後來bootloader、OAL、整BSP code都碰了
09/15 21:04, 3F

09/15 21:05, , 4F
還有檢查每天的daily build,看誰害image出不來XD
09/15 21:05, 4F

09/15 21:50, , 5F
看來源波是在紅茶店?
09/15 21:50, 5F

09/15 22:02, , 6F
這麼厲害就不會去玩國考Online了XD..我充其量只是廖化罷了
09/15 22:02, 6F
文章代碼(AID): #1CZtF6BA (C_and_CPP)
文章代碼(AID): #1CZtF6BA (C_and_CPP)