uc/os與時間管理有關的函數在os_time.c這個文件裏面,包含操做系統時間的設置及獲取,對任務的延時,任務按時分秒毫秒延時,取消任務的延時共5個系統調用,其中對任務的延時是uC/OS時間管理最主要的功能,以下圖:app
uc/os中的延時不一樣於單片機不帶系統時的延時函數,單片機延時函數大多狀況下CPU是在執行無心義的指令,下降了CPU的效率,而在uc/os中是在調用系統延時的任務的任務控制塊中寫入一個延時數ticks,而後將該任務掛起進行任務調度,釋放cpu控制權交給其餘任務,這提升了cpu的使用效率。當系統時鐘中斷來臨時,系統會將全部任務的任務控制塊的ticks數減1而後檢查ticks是否爲0,若是ticks大於0該任務就繼續被掛起等待,若是等於0就將其加入就續表中。下面貼出使用最多的OSTimeDly()源碼及註釋。函數