UCOSIII的任務調度 UCOSII任務是怎麼調度的

UCOS-III的任務調度
任務調度就是CPU終止當前正在運行的任務,轉而去執行其他就緒的任務。
UCOS-III 是可剝奪型內核,因此當一個高優先級的任務準備就緒,並且在當前正在執行的任務中發生了任務調度,那麼此時這個在任務就緒表中的最高優先級的任務,就會獲得CPU的使用權。
UCOS-III的任務調度是有任務調度器來完成的(所謂任務調度器其實就是兩個函數),任務調度器函數有2種:分別是 任務級調度器和中斷級調度器。
任務級調度器爲OSSched()。
中斷級調度器爲函數OSintExit(),當退出外部中斷服務函數的時候使用中斷級任務調度。

任務級調度舉例
void OSTimeDly (OS_TICK dly,
OS_OPT opt,
OS_ERR p_err)
{


OSSched(); /
Find next task to run!


}
中斷級任務調度舉例
void IRQHandler(void) //中斷服務程序
{
OSIntEnter();
//add you code
OSIntExit();
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章