關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應用 > μC/OS―II實時操作系統(tǒng)中任務延時的研究與改進

μC/OS―II實時操作系統(tǒng)中任務延時的研究與改進

作者: 時間:2011-06-21 來源:網(wǎng)絡(luò) 收藏

c.JPG
2.2 從鏈表中刪除控制塊
完成、任務恢復、任務恢復、任務刪除時,需要把任務從任務延時鏈表中刪除。使用函數(shù)TCBDlyDel(),此函數(shù)無返回,形參有兩個:第一個為任務控制塊指針,第二個為操作類型opt,函數(shù)原型為void TCBDlyDel(_TCB*ptcb,INT8U opt)。opt的取值為:OS_Dly_OPT_NONE(正常執(zhí)行,從任務延時鏈表刪除,加入任務鏈表),OS_Dly_OPT_DEL(把任務從任務延時鏈表刪除,OSTaskDel()函數(shù)使用)。函數(shù)OSTCBDlyDel的流程如圖1所示。

本文引用地址:http://www.2s4d.com/article/161941.htm

d.JPG


在函數(shù)OSTimeDlyResume()、OS_EventTaskRdy()、OS_FlagTaskRdy()以及OSTaskResume()中,在其代碼ptcb->OSTCBDly=0后面(下一行)加入0STCBDlyDel(ptcb,OS_Dly_OPT_NONE)。然后在時鐘節(jié)拍處理函數(shù)OSTime Tick()中作適當修改,修改后的偽代碼如下:
e.JPG

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉