資源描述:
《iphone5睡眠喚醒計(jì)劃》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃iphone5睡眠喚醒計(jì)劃 CC2530有3種睡眠模式,pm2模式比較省功耗而且可以被定時(shí)喚醒;pm3模式最省電但是只能被外部中斷喚醒 1、sensordemo的sensor在入網(wǎng)以后,為什么燈在不斷地閃? 其實(shí),閃一次就是睡眠了一次:亮的時(shí)候睡過(guò)來(lái),滅的時(shí)候睡下去。具體代碼在halSleep函數(shù)里。要做的,就是讀懂這個(gè)機(jī)制是怎么運(yùn)作的?! ?、為什么閃的頻率那么高? zstack的睡眠機(jī)制就是在操作系統(tǒng)沒(méi)事干的時(shí)候才睡眠,頻率高說(shuō)明應(yīng)用程
2、序讓操作系統(tǒng)不斷做事。你想讓它長(zhǎng)時(shí)間睡眠,那要做的就是不要不斷地給操作系統(tǒng)事情做,找到分配系統(tǒng)任務(wù)的地方?! ∫O(shè)置低功耗模式,先確認(rèn): 文件中DRFD_RCVC_ALWAYS_ON定義為FALSE >C/C++Compiler->Definedsymbols中添加預(yù)編譯“POWER_SAVING”;重要函數(shù)voidhalSleep(uint16osal_timeout) 1.首先將osal_timeout轉(zhuǎn)成以320US為單位 2.獲取下一次MAC定時(shí)器到期時(shí)間 3.halPwrMgtMode=(timeout==0)?HAL_SLEEP_DEE
3、P:目的-通過(guò)該培訓(xùn)員工可對(duì)保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 HAL_SLEEP_TIMER; //為PM2,PM3模式。沒(méi)有任務(wù)要執(zhí)行就進(jìn)入PM3深度睡眠,否則進(jìn)入PM2睡眠,可以定時(shí)器喚醒。 4.喚醒 OSAL機(jī)制的ZigBee低功耗管理(CC2530) 涉及文件 OSAL_OSAL電源管理的API頭文件 OSAL_電源管理的APIC文件 hal_底層的電源管
4、理文件 電源管理結(jié)構(gòu)體 typedefstruct { uint16pwrmgr_task_state;//任務(wù)狀態(tài) uint16pwrmgr_next_timeout;//下一次超時(shí)uint16accumulated_sleep_time;//睡眠時(shí)間uint8pwrmgr_device;//電源管理設(shè)備屬性,有 PWRMGR_ALWAYS_ON和PWRMGR_BATTERY兩種 }pwrmgr_attribute_t; #definePWRMGR_ALWAYS_ON0 #definePWRMGR_BATTERY1目的-通過(guò)該培訓(xùn)員工可對(duì)
5、保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 選擇PWRMGR_ALWAYS_ON的話將不會(huì)進(jìn)入睡眠模式,選擇PWRMGR_BATTERY將允許HAL管理CPU進(jìn)入SLEEPLITE或者SLEEPDEEP狀態(tài)?! ?definePWRMGR_CONSERVE0 #definePWRMGR_HOLD1 低功耗標(biāo)志,主要用于osal_pwrmgr_task_state()這個(gè)函數(shù)中,用于標(biāo)
6、志每一任務(wù)是否需要低功耗。 externpwrmgr_attribute_tpwrmgr_attribute 定義一個(gè)電源管理的全局變量。 /********************************************************************* *@brief初始化電源管理函數(shù),這個(gè)函數(shù)在里面的 osal_init_system()調(diào)用, 也就是在OSAL系統(tǒng)初始化的時(shí)候?qū)㈦娫垂芾砟J秸{(diào)成了不會(huì)進(jìn)入睡眠模式的狀態(tài)?! ?/ voidosal_pwrmgr_init(void) { pwrmgr__devi
7、ce=PWRMGR_ALWAYS_ON;//默認(rèn)沒(méi)有睡眠模式 pwrmgr__task_state=0;//清零 }目的-通過(guò)該培訓(xùn)員工可對(duì)保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 OSAL系統(tǒng)在檢查完所有的任務(wù)事件之后發(fā)現(xiàn)沒(méi)有事件需要處理,這樣在 POWER_SAVING宏定義打開的情況下將調(diào)用osal_pwrmgr_powerconserve();函數(shù),在這函數(shù)中將會(huì)根據(jù)選擇
8、系統(tǒng)進(jìn)入休眠。 退出休眠 當(dāng)出現(xiàn)IO中斷或者復(fù)位