UC/OS-II的延時函式,
函式聲明為:INT8U OSTimeDlyHMSM(INT8U hours, INT8U minutes, INT8U seconds, INT16U milli);
功能:
調用OSTimeDlyHMSM()函式會使UC/OS-Ⅱ進行一次任務調度,並且執行下一個處於就緒態的優先權最高的任務。
例如:整個程式執行過程中系統只有兩個就緒任務A和B優先權分別為0、1,任務A中調用OSTimeDlyHMSM(時間T1)函式後任務A會立即被掛起,任務B執行T1時間後再執行任務A。或者在延時時間T1未完時任務B通過調用 OSTimeDlyResume()取消了延時(取消延時後B任務應執行完後)去執行任務A。
若任務AB同時調用OSTimeDlyHMSM函式,任務A,B將會交替延時。
注意寫OSTimeDly()函式的區別。
調用OSTimeDly()函式,用戶可以通過定義全局常數 OS_TICKS_PER_SEC(參看 OS_CFG.H)的方法將延時的時間轉換成時鐘段