在线观看免费黄色网址,一区二区视频,亚洲国产综合网,欧美VA免费高清在线观看

ucos的時間管理機制

來源:網絡

點擊:2444

A+ A-

所屬頻道:新聞中心

關鍵詞: ucos,時間管理

      一。時間管理機制

      Ucos提供的延時基于系統時鐘。在系統初始化時,會進行系統時鐘的初始化。系統時鐘一般由硬件的某個時鐘提供,該時鐘會定時中斷,稱為一個tick。在每個tick發生時,系統進入時鐘中斷ISR。ISR 調用OSTimeTick()。 OSTimeTick()對OSTCBList鏈表中的每個任務的進行延時處理,即將任務的TCB中的.OSTimeDly--。若OSTimeDly=0, 如果任務不被掛起,則將任務就緒,等待調度。OSTCBList包含了系統中所有創建的任務。

      任務延時,即將任務從就緒表中刪除,將OSTimeDly置為合適的值。等待OSTimeDly=0時,再置為就緒,等待調度。

      因此任務的延時,并不是要以延時任務時長,理想上總是tick中斷間隔的N倍。

      Ucos還允許對系統時鐘tick進行計數,以計算自系統系統以來進行了多少個tick.

      二、ucos提供的接口函數

      void OSTimeDly (INT16U ticks)。

      功能:延時ticks個系統tick時長。當成功延時后,進行任務調度。

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

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

      INT8U OSTimeDlyResume (INT8U prio);

      功能:恢復延時任務

      INT32U OSTimeGet (void);

      void OSTimeSet (INT32U ticks);

      功能:返回,設置系統時鐘tick計數。

      三、關于延時功能的使用

      雖然ucos提供了延時函數,但因為是基于系統時鐘中斷的,所有對于小于時鐘中斷時間間隔的延時,并不能提供;只能通過軟件延時。

      在很多情況下,可以通過信號量、郵箱等方式取代延時功能。

      特別要注意的是,在多任務的運行環境中,即使任務延時已經完畢,但由于此時有高優先級的任務運行,此時任務仍不能運行。至任務可以運行時,實際的延時已經超過了預期的延時。

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

      void OSTimeTick (void) //這個節拍服務函數是在OSTickISR函數中調用的,目的是在時鐘節拍到來時,檢查每個任務的任務控制塊中的.OSTCBDly-1后是否為0,如果是,那么表明這個任務剛才是掛起的狀態,此時應改變為就緒態

      {

      OS_TCB *ptcb;

      OSTimeTickHook(); //

      ptcb = OSTCBList; //時鐘節拍到來時,將控制塊雙向鏈表的第一個控制塊取出(并不是節拍之前運行的任務)

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

      // OS_ENTER_CRITICAL();

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

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

      if (!(ptcb-》OSTCBStat & OS_STAT_SUSPEND)) { //檢查任務是否處于強制掛起狀態,如果是,那再掛起一個時鐘節拍,否則就將它就緒

      OSRdyGrp |= ptcb-》OSTCBBitY;

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

      } else { //

      ptcb-》OSTCBDly = 1; //

      } //

      }

      }

      ptcb = ptcb-》OSTCBNext; //下一個任務控制塊

      // OS_EXIT_CRITICAL();

      }

      // OS_ENTER_CRITICAL(); //

      OSTime++; //節拍計數器+1

      // OS_EXIT_CRITICAL();

      }

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    申请过国家助学贷款的同学注意了| 马龙说全运会后还想参加比赛| 白敬亭 宋轶| 京东外卖全职骑手已突破10000人平台承担骑手缴纳五险一金的全部成本 | 李昀锐好标准的体育生下楼梯 | 王艳发了赤脚鬼| 安徽官方辟谣新初一取消中考小四门 | 20万以内SUV天花板| 中医把脉称甲亢哥没有甲亢| 甲亢哥成都行直播| 李昀锐好标准的体育生下楼梯| 郭德纲说我演不过秦霄贤| 李昀锐好标准的体育生下楼梯| 黄霄雲方回应翻唱争议| 金秀贤记者会最起鸡皮疙瘩的一句话| 李现的微博逐渐奇怪| 提高墙体楼板隔声性能| 清明档预售前三名| 男婴被4人入室抢走主犯竟是邻居| 2024的愚人节勇士站姐| 泰高空走廊被震断男子奋力跳向对面| 沉浸式感受广西三月三| 李现的微博逐渐奇怪| 马吟吟被宋妍霏迷成胚胎了 | 中国白茶之乡福建福鼎绿叶变金叶 | 甲亢哥成都行直播| 男子赠妻子闺蜜7万被判全额返还加利息| 黄霄雲方回应翻唱争议| 真正的智能座舱从不挑手机品牌| 疑似一种新病毒在俄罗斯蔓延| 山姆客服称水果中吃出虫是正常情况| 白敬亭 宋轶| 找工作不要限制于招聘app| 山姆客服称水果中吃出虫是正常情况| 日本特大地震若发生或致近30万人死亡| 三项电子商务国际标准在杭州发布构建信任桥梁 | 陈昊宇陈丽君四公帮唱| 乘风2025最新排名| 零公摊时代真的要来了吗| 张杰发博庆祝破纪录| 王者荣耀奇迹司|