gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

另外有一點(diǎn)需要特別注意的是,如果掛起了一個(gè)任務(wù),那么要注意這個(gè)任務(wù)是否在等待某些事件的發(fā)生,需要防止在事件發(fā)生的時(shí)候阻塞了的任務(wù)因?yàn)槭录陌l(fā)生而運(yùn)行。

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

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

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

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

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

回到頂部