激情九九,六月婷婷七月丁香,天天五月天丁香婷婷深爱综合,国产色一区,国产一区二区三区免费在线观看,91最新网站

ucos的時(shí)間管理機(jī)制

來(lái)源:網(wǎng)絡(luò)

點(diǎn)擊:2352

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: ucos,時(shí)間管理

      一。時(shí)間管理機(jī)制

      Ucos提供的延時(shí)基于系統(tǒng)時(shí)鐘。在系統(tǒng)初始化時(shí),會(huì)進(jìn)行系統(tǒng)時(shí)鐘的初始化。系統(tǒng)時(shí)鐘一般由硬件的某個(gè)時(shí)鐘提供,該時(shí)鐘會(huì)定時(shí)中斷,稱(chēng)為一個(gè)tick。在每個(gè)tick發(fā)生時(shí),系統(tǒng)進(jìn)入時(shí)鐘中斷ISR。ISR 調(diào)用OSTimeTick()。 OSTimeTick()對(duì)OSTCBList鏈表中的每個(gè)任務(wù)的進(jìn)行延時(shí)處理,即將任務(wù)的TCB中的.OSTimeDly--。若OSTimeDly=0, 如果任務(wù)不被掛起,則將任務(wù)就緒,等待調(diào)度。OSTCBList包含了系統(tǒng)中所有創(chuàng)建的任務(wù)。

      任務(wù)延時(shí),即將任務(wù)從就緒表中刪除,將OSTimeDly置為合適的值。等待OSTimeDly=0時(shí),再置為就緒,等待調(diào)度。

      因此任務(wù)的延時(shí),并不是要以延時(shí)任務(wù)時(shí)長(zhǎng),理想上總是tick中斷間隔的N倍。

      Ucos還允許對(duì)系統(tǒng)時(shí)鐘tick進(jìn)行計(jì)數(shù),以計(jì)算自系統(tǒng)系統(tǒng)以來(lái)進(jìn)行了多少個(gè)tick.

      二、ucos提供的接口函數(shù)

      void OSTimeDly (INT16U ticks)。

      功能:延時(shí)ticks個(gè)系統(tǒng)tick時(shí)長(zhǎng)。當(dāng)成功延時(shí)后,進(jìn)行任務(wù)調(diào)度。

      INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli)

      功能:提供基于毫秒,秒等容易的用戶接口。

      INT8U OSTimeDlyResume (INT8U prio);

      功能:恢復(fù)延時(shí)任務(wù)

      INT32U OSTimeGet (void);

      void OSTimeSet (INT32U ticks);

      功能:返回,設(shè)置系統(tǒng)時(shí)鐘tick計(jì)數(shù)。

      三、關(guān)于延時(shí)功能的使用

      雖然ucos提供了延時(shí)函數(shù),但因?yàn)槭腔谙到y(tǒng)時(shí)鐘中斷的,所有對(duì)于小于時(shí)鐘中斷時(shí)間間隔的延時(shí),并不能提供;只能通過(guò)軟件延時(shí)。

      在很多情況下,可以通過(guò)信號(hào)量、郵箱等方式取代延時(shí)功能。

      特別要注意的是,在多任務(wù)的運(yùn)行環(huán)境中,即使任務(wù)延時(shí)已經(jīng)完畢,但由于此時(shí)有高優(yōu)先級(jí)的任務(wù)運(yùn)行,此時(shí)任務(wù)仍不能運(yùn)行。至任務(wù)可以運(yùn)行時(shí),實(shí)際的延時(shí)已經(jīng)超過(guò)了預(yù)期的延時(shí)。

      附:給出了OSTimeTick () 函數(shù)的具體程序

      void OSTimeTick (void) //這個(gè)節(jié)拍服務(wù)函數(shù)是在OSTickISR函數(shù)中調(diào)用的,目的是在時(shí)鐘節(jié)拍到來(lái)時(shí),檢查每個(gè)任務(wù)的任務(wù)控制塊中的.OSTCBDly-1后是否為0,如果是,那么表明這個(gè)任務(wù)剛才是掛起的狀態(tài),此時(shí)應(yīng)改變?yōu)榫途w態(tài)

      {

      OS_TCB *ptcb;

      OSTimeTickHook(); //

      ptcb = OSTCBList; //時(shí)鐘節(jié)拍到來(lái)時(shí),將控制塊雙向鏈表的第一個(gè)控制塊取出(并不是節(jié)拍之前運(yùn)行的任務(wù))

      while (ptcb-》OSTCBPrio != OS_IDLE_PRIO) { //空閑任務(wù)處于控制塊雙向鏈表的最后一個(gè),如果取出的控制塊為空閑任務(wù)的控制塊,那么已經(jīng)取到最后一個(gè)了,就結(jié)束

      // OS_ENTER_CRITICAL();

      if (ptcb-》OSTCBDly != 0) { //

      if (--ptcb-》OSTCBDly == 0) { //

      if (!(ptcb-》OSTCBStat & OS_STAT_SUSPEND)) { //檢查任務(wù)是否處于強(qiáng)制掛起狀態(tài),如果是,那再掛起一個(gè)時(shí)鐘節(jié)拍,否則就將它就緒

      OSRdyGrp |= ptcb-》OSTCBBitY;

      OSRdyTbl[ptcb-》OSTCBY] |= ptcb-》OSTCBBitX;

      } else { //

      ptcb-》OSTCBDly = 1; //

      } //

      }

      }

      ptcb = ptcb-》OSTCBNext; //下一個(gè)任務(wù)控制塊

      // OS_EXIT_CRITICAL();

      }

      // OS_ENTER_CRITICAL(); //

      OSTime++; //節(jié)拍計(jì)數(shù)器+1

      // OS_EXIT_CRITICAL();

      }

    (審核編輯: 智匯小新)

    聲明:除特別說(shuō)明之外,新聞內(nèi)容及圖片均來(lái)自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 久久99视频精品 | av2014天堂网| 精品精品国产自在久久高清 | 黄色网址视频免费 | 门事件精品视频在线观看 | 奇米影视网| 99久久网站 | 55窝窝影院纶理电影在线 | 免费人成在线观看网站品爱网 | 深爱激情成人 | 国产精品亚洲天堂 | 久久精品99视频 | 色综合色综合久久综合频道 | 国产羞羞的视频在线观看免费 | 国内自拍中文字幕 | 成年女人色费视频免费 | 国产亚洲人成网站在线观看 | 99精品久久 | 久久99这里精品8国产 | 婷婷综合丁香 | 国产日韩欧美在线视频免费观看 | 国产第一页在线观看 | 免费观看激色视频网站bd | 欧美一页 | 五月婷婷综合网 | 黄色网五月天 | 五月天激情啪啪 | 激情六月婷婷 | 深爱激情小说 | 99国产在线观看 | 久久久久久国产视频 | 久久99影院 | 中国一级毛片国产高清 | 24小时免费看片 | 男人的天堂精品国产一区 | 久久综合精品国产一区二区三区无 | 99视频精品全国免费 | 国产精品理论片在线观看 | 成人欧美一区二区三区视频 | 久久综合精品国产一区二区三区 | 婷婷综合丁香 |