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

正文內(nèi)容

嵌入式操作系統(tǒng)μcos-ii-資料下載頁

2024-10-19 16:42本頁面
  

【正文】 entGrp。 /*等待任務組 */ } OS_EVENT。 與 TCB類似的結構 , 使用兩個鏈表 , 空閑鏈表與使用鏈表 所有的通信信號都被看成是事件 (event), 一個稱為事件控制塊 (ECB, Event Control Block)的數(shù)據(jù)結構來表征每一個具體事件, ECB的結構如下 事件的等待任務列表 空閑事件控制塊鏈表 事件控制塊 TCB的操作 對事件控制塊進行的操作包括: ? 初始化一個事件控制塊OS_EventWaitListInit(); ? 使一個任務進入就緒態(tài) OS_EventTaskRdy(); ? 使一個任務進入等待某事件的狀態(tài)OS_EventTaskWait(); ? 因為等待超時而使一個任務進入就緒態(tài)OS_EventTO()。 信號量 semaphore ? 信號量在多任務系統(tǒng)中用于:控制共享資源的使用權、標志事件的發(fā)生、使兩個任務的行為同步。 ? uC/OS中信號量由兩部分組成:信號量的計數(shù)值和等待該信號任務的等待任務表。信號量的計數(shù)值可以為二進制 , 也可以是其他整數(shù)。 ? 系統(tǒng)通過 OSSemPend( )和 OSSemPost( )來支持信號量的兩種原子操作 P()和 V()。 P()操作減少信號量的值,如果新的信號量的值不大于 0,則操作阻塞; V()操作增加信號量的值。 任務、中斷服務子程序和信號量之間的關系 T askI S RT askOSSemPend()OSSemAccept()OSSemQuery()OSSemPost()OSSemPost()OSSemAccept()OROSSemCreate()NNOSSemDel() 信號量操作 ? 181。C/OSII提供 6個對信號量進行操作的函數(shù): – OSSemCreate():建立一個信號量 – OSSemDel(): 刪除一個信號量 – OSSemPend():等待一個信號量 – OSSemPost():發(fā)出一個信號量 – OSSemAccept():無等待地請求一個信號量 ?當一個任務請求一個信號量時,如果該信號量暫時無效,可以讓該任務簡單返回,而不是進入睡眠等待狀態(tài) – OSSemQuery()函數(shù):查詢一個信號量的當前狀態(tài) 郵 箱 ? 郵箱是 181。C/OSII中另一種通訊機制,它可以使一個任務或者中斷服務子程序向另一個任務發(fā)送一個指針型的變量。 ? 該指針指向一個包含了特定 “ 消息 ” 的數(shù)據(jù)結構。為了在 181。C/OSII中使用郵箱,必須將 OS_MBOX_EN常數(shù)置為 1。 ? 使用郵箱之前,必須先建立該郵箱。該操作可以通過調(diào)用 OSMboxCreate()函數(shù)來完成,并且要指定指針的初始值。 郵 箱 181。C/OSII提供了 7種對郵箱的操作: ? OSMboxCreate():建立一個郵箱 ? OSMboxDel( ):刪除一個郵箱 ? OSMboxPend():等待郵箱中的消息 ? OSMboxPost():向郵箱發(fā)送一則消息 ? OSMboxPostOpt():向郵箱發(fā)送一則消息 ? OSMboxAccept():無等待地從郵箱中得到一則消息 ? OSMboxQuery():查詢一個郵箱的狀態(tài) 任務、中斷服務子程序和郵箱之間的關系 T a s kI S RT a s kOSMboxPend()OSMboxAccept()OSMboxQuery()OSMboxPost()OSMboxPost()OSMboxAccept()OSMboxCreate()M a i l bo xM e s s a g e消息隊列 ? 消息隊列是 181。C/OSII中另一種通訊機制,它可以使一個任務或者中斷服務子程序向另一個任務發(fā)送 以指針方式定義的變量 ? 因具體的應用有所不同,每個指針指向的數(shù)據(jù)結構變量也有所不同 ? 為了使用 181。C/OSII的消息隊列功能,需要在 文件中,將 OS_Q_EN常數(shù)設置為 1,并且通過常數(shù)OS_MAX_QS來決定 181。C/OSII支持的最多消息隊列數(shù) ? 在使用一個消息隊列之前,必須先建立該消息隊列。這可以通過調(diào)用 OSQCreate()函數(shù),并定義消息隊列中的單元數(shù)(消息數(shù))來完成 181。C/OSII提供了 8個對消息隊列進行操作的函數(shù): ? OSQCreate():建立一個消息隊列 ? OSQDel():刪除一個消息隊列 ? OSQPend():等待消息隊列中的消息 ? OSQPost():向消息隊列發(fā)送一則消息 (FIFO) ? OSQPostFront():向消息隊列發(fā)送一則消息 (LIFO) – 只是在插入新的消息到消息隊列中時,使用 .OSQOut,而不是 .OSQIn作為指向下一個插入消息的單元指針 ? OSQAccept():無等待地從消息隊列中獲得消息 ? OSQFlush():清空消息隊列 ? OSuery():獲取消息隊列的狀態(tài) 任務、中斷服務子程序和消息隊列之間的關系 T as kI S RT as kOSQPend()OSQAccept()OSuery()OSQPost()OSQPostFront()OSQFlush()OSQPost()OSQPostFront()OSQFlush()OSQAccept()OSQCreate()Q ue ueM e s s a g eN消息與任務 等 待 消 息任 務 開 始是 否 是 用 戶關 心 的 消 息刪 除 消 息判 斷 消 息 類 型執(zhí) 行 相 應 的 函 數(shù)用 戶 任 務 1用 戶 任 務 1 的消 息 隊 列發(fā) 送 消 息操 作 系 統(tǒng) 任 務 1操 作 系 統(tǒng) 任 務 2操 作 系 統(tǒng) 任 務 n操 作 系 統(tǒng)發(fā) 送 消 息操作系統(tǒng)的啟動和運行過程 嵌入式控制器硬件初始化 操作系統(tǒng)初始化 LCD初始化 裝載字庫 調(diào)用系統(tǒng)配置文件 創(chuàng)建任務 初始化用戶界面 、時鐘 啟動多任務調(diào)度 主任務 用戶程序 消息處理 任務1 任務n …… 小 結 ? ?C/OSⅡ 是一個實時內(nèi)核,非常適合用于有實時性要求的控制系統(tǒng)中 ? ?C/OSⅡ 要在其它領域中應用,有時還需要擴展 GUI、 FS、 TCP/IP等嵌入式中間件和協(xié)議棧
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1