国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 學(xué)習(xí)中遇到ostasksuspend該怎么用

學(xué)習(xí)中遇到ostasksuspend該怎么用 時間:2018-03-02      來源:未知

做過單片機的,相比都用過51、STM32等等系列,當(dāng)今比較主流的單片機以STM32系列的為主,當(dāng)在用STM32單片機一段時間之后就會手癢癢去嘗試使用一下操作系統(tǒng),那么就一定會接觸到uC/OS-II,說到uC/OS-II那么就一定會有任務(wù)這樣的概念。

任務(wù)在創(chuàng)建后將從睡眠態(tài)轉(zhuǎn)換到就緒態(tài),就緒的任務(wù)如果調(diào)用OSTaskSuspend將被阻塞,也就是被剝奪CPU的使用權(quán)而暫時中止運行,轉(zhuǎn)到阻塞狀態(tài)。通過OSTaskSuspend將任務(wù)轉(zhuǎn)到阻塞態(tài)被稱為掛起任務(wù)。

被掛起的任務(wù)不能運行,知道其他任務(wù)以該任務(wù)的優(yōu)先級作為參數(shù)調(diào)用OSTaskResume來恢復(fù)它,才能將該任務(wù)的狀態(tài)重新設(shè)置為就緒狀態(tài)。當(dāng)該任務(wù)是就緒的高優(yōu)先級的任務(wù)時,又可以得到調(diào)度而重新占領(lǐng)CPU,回到運行態(tài)。

一個任務(wù)如果無事可做,且優(yōu)先級又較高,長期占有CPU,那么其他的任務(wù)將得不到運行而“餓死”。因此,任務(wù)在不需要運行的時候應(yīng)該放棄CPU,掛起就是其中的一種策略,除此之外還有任務(wù)延時等策略。

學(xué)習(xí)中遇到OSTaskSuspend該怎么用

由上圖可知,在運行過程的任務(wù)因為調(diào)用OSTaskSuspend而被掛起到阻塞態(tài)。阻塞態(tài)的任務(wù)因為其他任務(wù)以該任務(wù)的優(yōu)先級作為參數(shù)調(diào)用OSTaskResume而得到恢復(fù),恢復(fù)到就緒態(tài)。就緒的任務(wù)在優(yōu)先級變?yōu)楦叩那闆r下終得到了運行。

值得注意的是,掛起一個任務(wù)并非將其轉(zhuǎn)換掛起態(tài),而是阻塞態(tài)。任務(wù)因為中斷失去CPU控制權(quán)才會轉(zhuǎn)換為掛起態(tài),掛起態(tài)的任務(wù)在中斷結(jié)束后直接回到運行態(tài)。這兩者是有明顯的區(qū)別的。

函數(shù)OSTaskSuspend用來暫時停止一個任務(wù)的執(zhí)行,將任務(wù)轉(zhuǎn)換為阻塞態(tài)。如果傳遞給OSTaskSuspend的參數(shù)是OS_PRIO_SELF,則將阻塞自己,如果prio是其他任務(wù)的優(yōu)先級,則將阻塞其他的就緒任務(wù)。

根據(jù)該函數(shù)執(zhí)行過程中的各種情況,返回值包括:

OS_ERR_NONE:如果成功掛起一個任務(wù)

OS_ERR_TASK_SUSPEND_IDLE:如果試圖阻塞空閑任務(wù)。

OS_ERR_PRIO_INVALID:非法的優(yōu)先級

OS_ERR_TASK_SUSPEND_PRIO:要掛起的任務(wù)不存在

OS_ERR_TASK_NOT_EXITS:要掛起使用互斥信號量的任務(wù)。

另外有一點需要特別注意的是,如果掛起了一個任務(wù),那么要注意這個任務(wù)是否在等待某些事件的發(fā)生,需要防止在事件發(fā)生的時候阻塞了的任務(wù)因為事件的發(fā)生而運行。

調(diào)用時要十分小心,如果你想掛起一個等待事件(郵箱,消息,隊列)的任務(wù),事件到來的時候你將阻止這個任務(wù)運行。

注意:OSTaskSuspend()需要與OSTaskResume()恢復(fù)掛起的任務(wù)成對使用

上一篇:嵌入式設(shè)計是什么意思

下一篇:嵌入式系統(tǒng)存儲器

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號

回到頂部