freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第八講4任務同步與通信-資料下載頁

2025-08-01 13:24本頁面
  

【正文】 如果同時有多個任務等待同一個消息, μC/OSⅡ 默認最高優(yōu)先級的任務取得消息并且任務恢復執(zhí)行。 一個由 OSTaskSuspend()函數(shù)掛起的任務也可以接受消息,但這個任務將一直保持掛起狀態(tài)直到通過調(diào)用OSTaskResume()函數(shù)恢復任務的運行。 《 嵌入式系統(tǒng)設計 》 2022/8/17 42 參數(shù) pevent 是指向即將接受消息的隊列的指針。該指針的值在建立該隊列時可以得到。 Timeout 允許一個任務在經(jīng)過了指定數(shù)目的時鐘節(jié)拍后還沒有得到需要的消息時恢復運行狀態(tài)。如果該值為零表示任務將持續(xù)的等待消息。 Err 是指向包含錯誤碼的變量的指針。 OSQPend()函數(shù)返回的錯誤碼可能為下述幾種: ? OS_NO_ERR :消息被正確的接受。 ? OS_TIMEOUT :消息沒有在指定的周期數(shù)內(nèi)送到。 ? OS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。雖然規(guī)定了不允許從中斷調(diào)用該函數(shù),但 μC/OSⅡ 仍然包含了檢測這種情況的功能。 ? OS_ERR_EVENT_TYPE : pevent 不是指向消息隊列的指針。 返回值 OSQPend()返回接受的消息并將 *err置為 OS_NO_ERR。如果沒有在指定數(shù)目的時鐘節(jié)拍內(nèi)接受到需要的消息,返回空指針并且將 *err設置為 OS_TIMEOUT。 《 嵌入式系統(tǒng)設計 》 2022/8/17 43 向消息隊列發(fā)送一個消息( FIFO) OSQPost() OSQPost()函數(shù)通過消息隊列向任務發(fā)送消息。 如果隊列中已經(jīng)存滿消息,返回錯誤碼。 OSQPost()函數(shù)立即返回調(diào)用者,消息也沒有能夠發(fā)到隊列。 如果有任何任務在等待隊列中的消息,最高優(yōu)先級的任務將得到這個消息。 如果等待消息的任務優(yōu)先級比發(fā)送消息的任務優(yōu)先級高,那么高優(yōu)先級的任務將得到消息而恢復執(zhí)行,也就是說,發(fā)生了一次任務切換。 消息隊列是先入先出( FIFO)機制的,先進入隊列的消息先被傳遞給任務。 參數(shù) pevent 是指向即將接受消息的消息隊列的指針。 Msg 是即將實際發(fā)送給任務的消息。 返回值 OS_NO_ERR :消息成功的放到消息隊列中。 OS_MBOX_FULL :消息隊列已滿。 OS_ERR_EVENT_TYPE : pevent 不是指向消息隊列的指針。 《 嵌入式系統(tǒng)設計 》 2022/8/17 44 向消息隊列發(fā)送一個消息( LIFO) OSQPostFront() OSQPostFront()函數(shù)通過消息隊列向任務發(fā)送消息。 OSQPostFront()函數(shù)和 OSQPost()函數(shù)非常相似,不同之處在于 OSQPostFront()函數(shù)將發(fā)送的消息插到消息隊列的最前端。 也就是說, OSQPostFront()函數(shù)使得消息隊列按照后入先出( LIFO)的方式工作,而不是先入先出( FIFO)。 《 嵌入式系統(tǒng)設計 》 2022/8/17 45 無等待地從一個消息隊列中取得消息 OSQAccept() OSQAccept()函數(shù)檢查消息隊列中是否已經(jīng)有需要的消息。 不同于 OSQPend()函數(shù),如果沒有需要的消息,OSQAccept()函數(shù)并不掛起任務。如果消息已經(jīng)到達,該消息被傳遞到用戶任務。 參數(shù) pevent 是指向需要查看的消息隊列的指針。 返回值 如果消息已經(jīng)到達,返回指向該消息的指針;如果消息隊列沒有消息,返回空指針。 《 嵌入式系統(tǒng)設計 》 2022/8/17 46 清空一個消息隊列 OSQFlush() OSQFlush()函數(shù)清空消息隊列并且忽略發(fā)送往隊列的所有消息。不管隊列中是否有消息,這個函數(shù)的執(zhí)行時間都是相同的。 參數(shù) pevent 是指向消息隊列的指針。 返回值 OS_NO_ERR :消息隊列被成功清空 OS_ERR_EVENT_TYPE :試圖清除不是消息隊列的對象 《 嵌入式系統(tǒng)設計 》 2022/8/17 47 查詢一個消息隊列的狀態(tài) OSuery() OSuery()函數(shù)用來取得消息隊列的信息。用戶程序必須建立一個 OS_Q_DATA的數(shù)據(jù)結(jié)構(gòu),用來保存從消息隊列的事件控制塊得到的數(shù)據(jù)。 通過調(diào)用 OSuery()函數(shù)可以知道任務是否在等待消息、有多少個任務在等待消息、隊列中有多少消息以及消息隊列可以容納的消息數(shù)。 參數(shù) pevent 是指向即將接受消息的消息郵箱的指針。該指針的值在建立該消息郵箱時可以得到。(參考 OSQCreate()函數(shù))。 Pdata 是指向 OS_Q_DATA數(shù)據(jù)結(jié)構(gòu)的指針; 返回值 OS_NO_ERR :調(diào)用成功 OS_ERR_EVENT_TYPE : pevent 不是指向消息隊列的指針。
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1